{"version":3,"sources":["../node_modules/jsonschema/lib/helpers.js","../node_modules/jsonschema/lib/attribute.js","../node_modules/jsonschema/lib/scan.js","../node_modules/jsonschema/lib/validator.js","../node_modules/jsonschema/lib/index.js","../src/client.ts","../generated/index.ts"],"sourcesContent":["'use strict';\n\nvar uri = require('url');\n\nvar ValidationError = exports.ValidationError = function ValidationError (message, instance, schema, path, name, argument) {\n  if(Array.isArray(path)){\n    this.path = path;\n    this.property = path.reduce(function(sum, item){\n      return sum + makeSuffix(item);\n    }, 'instance');\n  }else if(path !== undefined){\n    this.property = path;\n  }\n  if (message) {\n    this.message = message;\n  }\n  if (schema) {\n    var id = schema.$id || schema.id;\n    this.schema = id || schema;\n  }\n  if (instance !== undefined) {\n    this.instance = instance;\n  }\n  this.name = name;\n  this.argument = argument;\n  this.stack = this.toString();\n};\n\nValidationError.prototype.toString = function toString() {\n  return this.property + ' ' + this.message;\n};\n\nvar ValidatorResult = exports.ValidatorResult = function ValidatorResult(instance, schema, options, ctx) {\n  this.instance = instance;\n  this.schema = schema;\n  this.options = options;\n  this.path = ctx.path;\n  this.propertyPath = ctx.propertyPath;\n  this.errors = [];\n  this.throwError = options && options.throwError;\n  this.throwFirst = options && options.throwFirst;\n  this.throwAll = options && options.throwAll;\n  this.disableFormat = options && options.disableFormat === true;\n};\n\nValidatorResult.prototype.addError = function addError(detail) {\n  var err;\n  if (typeof detail == 'string') {\n    err = new ValidationError(detail, this.instance, this.schema, this.path);\n  } else {\n    if (!detail) throw new Error('Missing error detail');\n    if (!detail.message) throw new Error('Missing error message');\n    if (!detail.name) throw new Error('Missing validator type');\n    err = new ValidationError(detail.message, this.instance, this.schema, this.path, detail.name, detail.argument);\n  }\n\n  this.errors.push(err);\n  if (this.throwFirst) {\n    throw new ValidatorResultError(this);\n  }else if(this.throwError){\n    throw err;\n  }\n  return err;\n};\n\nValidatorResult.prototype.importErrors = function importErrors(res) {\n  if (typeof res == 'string' || (res && res.validatorType)) {\n    this.addError(res);\n  } else if (res && res.errors) {\n    this.errors = this.errors.concat(res.errors);\n  }\n};\n\nfunction stringizer (v,i){\n  return i+': '+v.toString()+'\\n';\n}\nValidatorResult.prototype.toString = function toString(res) {\n  return this.errors.map(stringizer).join('');\n};\n\nObject.defineProperty(ValidatorResult.prototype, \"valid\", { get: function() {\n  return !this.errors.length;\n} });\n\nmodule.exports.ValidatorResultError = ValidatorResultError;\nfunction ValidatorResultError(result) {\n  if(Error.captureStackTrace){\n    Error.captureStackTrace(this, ValidatorResultError);\n  }\n  this.instance = result.instance;\n  this.schema = result.schema;\n  this.options = result.options;\n  this.errors = result.errors;\n}\nValidatorResultError.prototype = new Error();\nValidatorResultError.prototype.constructor = ValidatorResultError;\nValidatorResultError.prototype.name = \"Validation Error\";\n\n/**\n * Describes a problem with a Schema which prevents validation of an instance\n * @name SchemaError\n * @constructor\n */\nvar SchemaError = exports.SchemaError = function SchemaError (msg, schema) {\n  this.message = msg;\n  this.schema = schema;\n  Error.call(this, msg);\n  Error.captureStackTrace(this, SchemaError);\n};\nSchemaError.prototype = Object.create(Error.prototype,\n  {\n    constructor: {value: SchemaError, enumerable: false},\n    name: {value: 'SchemaError', enumerable: false},\n  });\n\nvar SchemaContext = exports.SchemaContext = function SchemaContext (schema, options, path, base, schemas) {\n  this.schema = schema;\n  this.options = options;\n  if(Array.isArray(path)){\n    this.path = path;\n    this.propertyPath = path.reduce(function(sum, item){\n      return sum + makeSuffix(item);\n    }, 'instance');\n  }else{\n    this.propertyPath = path;\n  }\n  this.base = base;\n  this.schemas = schemas;\n};\n\nSchemaContext.prototype.resolve = function resolve (target) {\n  return uri.resolve(this.base, target);\n};\n\nSchemaContext.prototype.makeChild = function makeChild(schema, propertyName){\n  var path = (propertyName===undefined) ? this.path : this.path.concat([propertyName]);\n  var id = schema.$id || schema.id;\n  var base = uri.resolve(this.base, id||'');\n  var ctx = new SchemaContext(schema, this.options, path, base, Object.create(this.schemas));\n  if(id && !ctx.schemas[base]){\n    ctx.schemas[base] = schema;\n  }\n  return ctx;\n};\n\nvar FORMAT_REGEXPS = exports.FORMAT_REGEXPS = {\n  // 7.3.1. Dates, Times, and Duration\n  'date-time': /^\\d{4}-(?:0[0-9]{1}|1[0-2]{1})-(3[01]|0[1-9]|[12][0-9])[tT ](2[0-4]|[01][0-9]):([0-5][0-9]):(60|[0-5][0-9])(\\.\\d+)?([zZ]|[+-]([0-5][0-9]):(60|[0-5][0-9]))$/,\n  'date': /^\\d{4}-(?:0[0-9]{1}|1[0-2]{1})-(3[01]|0[1-9]|[12][0-9])$/,\n  'time': /^(2[0-4]|[01][0-9]):([0-5][0-9]):(60|[0-5][0-9])$/,\n  'duration': /P(T\\d+(H(\\d+M(\\d+S)?)?|M(\\d+S)?|S)|\\d+(D|M(\\d+D)?|Y(\\d+M(\\d+D)?)?)(T\\d+(H(\\d+M(\\d+S)?)?|M(\\d+S)?|S))?|\\d+W)/i,\n\n  // 7.3.2. Email Addresses\n  // TODO: fix the email production\n  'email': /^(?:[\\w\\!\\#\\$\\%\\&\\'\\*\\+\\-\\/\\=\\?\\^\\`\\{\\|\\}\\~]+\\.)*[\\w\\!\\#\\$\\%\\&\\'\\*\\+\\-\\/\\=\\?\\^\\`\\{\\|\\}\\~]+@(?:(?:(?:[a-zA-Z0-9](?:[a-zA-Z0-9\\-](?!\\.)){0,61}[a-zA-Z0-9]?\\.)+[a-zA-Z0-9](?:[a-zA-Z0-9\\-](?!$)){0,61}[a-zA-Z0-9]?)|(?:\\[(?:(?:[01]?\\d{1,2}|2[0-4]\\d|25[0-5])\\.){3}(?:[01]?\\d{1,2}|2[0-4]\\d|25[0-5])\\]))$/,\n  'idn-email': /^(\"(?:[!#-\\[\\]-\\u{10FFFF}]|\\\\[\\t -\\u{10FFFF}])*\"|[!#-'*+\\-/-9=?A-Z\\^-\\u{10FFFF}](?:\\.?[!#-'*+\\-/-9=?A-Z\\^-\\u{10FFFF}])*)@([!#-'*+\\-/-9=?A-Z\\^-\\u{10FFFF}](?:\\.?[!#-'*+\\-/-9=?A-Z\\^-\\u{10FFFF}])*|\\[[!-Z\\^-\\u{10FFFF}]*\\])$/u,\n\n  // 7.3.3. Hostnames\n\n  // 7.3.4. IP Addresses\n  'ip-address': /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/,\n  // FIXME whitespace is invalid\n  'ipv6': /^\\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:)))(%.+)?\\s*$/,\n\n  // 7.3.5. Resource Identifiers\n  // TODO: A more accurate regular expression for \"uri\" goes:\n  // [A-Za-z][+\\-.0-9A-Za-z]*:((/(/((%[0-9A-Fa-f]{2}|[!$&-.0-9;=A-Z_a-z~])+|(\\[(([Vv][0-9A-Fa-f]+\\.[!$&-.0-;=A-Z_a-z~]+)?|[.0-:A-Fa-f]+)\\])?)(:\\d*)?)?)?#(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~])*|(/(/((%[0-9A-Fa-f]{2}|[!$&-.0-9;=A-Z_a-z~])+|(\\[(([Vv][0-9A-Fa-f]+\\.[!$&-.0-;=A-Z_a-z~]+)?|[.0-:A-Fa-f]+)\\])?)(:\\d*)?[/?]|[!$&-.0-;=?-Z_a-z~])|/?%[0-9A-Fa-f]{2}|[!$&-.0-;=?-Z_a-z~])(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~])*(#(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~])*)?|/(/((%[0-9A-Fa-f]{2}|[!$&-.0-9;=A-Z_a-z~])+(:\\d*)?|(\\[(([Vv][0-9A-Fa-f]+\\.[!$&-.0-;=A-Z_a-z~]+)?|[.0-:A-Fa-f]+)\\])?:\\d*|\\[(([Vv][0-9A-Fa-f]+\\.[!$&-.0-;=A-Z_a-z~]+)?|[.0-:A-Fa-f]+)\\])?)?)?\n  'uri': /^[a-zA-Z][a-zA-Z0-9+.-]*:[^\\s]*$/,\n  'uri-reference': /^(((([A-Za-z][+\\-.0-9A-Za-z]*(:%[0-9A-Fa-f]{2}|:[!$&-.0-;=?-Z_a-z~]|[/?])|\\?)(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~])*|([A-Za-z][+\\-.0-9A-Za-z]*:?)?)|([A-Za-z][+\\-.0-9A-Za-z]*:)?\\/((%[0-9A-Fa-f]{2}|\\/((%[0-9A-Fa-f]{2}|[!$&-.0-9;=A-Z_a-z~])+|(\\[(([Vv][0-9A-Fa-f]+\\.[!$&-.0-;=A-Z_a-z~]+)?|[.0-:A-Fa-f]+)\\])?)(:\\d*)?[/?]|[!$&-.0-;=?-Z_a-z~])(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~])*|(\\/((%[0-9A-Fa-f]{2}|[!$&-.0-9;=A-Z_a-z~])+|(\\[(([Vv][0-9A-Fa-f]+\\.[!$&-.0-;=A-Z_a-z~]+)?|[.0-:A-Fa-f]+)\\])?)(:\\d*)?)?))#(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~])*|(([A-Za-z][+\\-.0-9A-Za-z]*)?%[0-9A-Fa-f]{2}|[!$&-.0-9;=@_~]|[A-Za-z][+\\-.0-9A-Za-z]*[!$&-*,;=@_~])(%[0-9A-Fa-f]{2}|[!$&-.0-9;=@-Z_a-z~])*((([/?](%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~])*)?#|[/?])(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~])*)?|([A-Za-z][+\\-.0-9A-Za-z]*(:%[0-9A-Fa-f]{2}|:[!$&-.0-;=?-Z_a-z~]|[/?])|\\?)(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~])*|([A-Za-z][+\\-.0-9A-Za-z]*:)?\\/((%[0-9A-Fa-f]{2}|\\/((%[0-9A-Fa-f]{2}|[!$&-.0-9;=A-Z_a-z~])+|(\\[(([Vv][0-9A-Fa-f]+\\.[!$&-.0-;=A-Z_a-z~]+)?|[.0-:A-Fa-f]+)\\])?)(:\\d*)?[/?]|[!$&-.0-;=?-Z_a-z~])(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~])*|\\/((%[0-9A-Fa-f]{2}|[!$&-.0-9;=A-Z_a-z~])+(:\\d*)?|(\\[(([Vv][0-9A-Fa-f]+\\.[!$&-.0-;=A-Z_a-z~]+)?|[.0-:A-Fa-f]+)\\])?:\\d*|\\[(([Vv][0-9A-Fa-f]+\\.[!$&-.0-;=A-Z_a-z~]+)?|[.0-:A-Fa-f]+)\\])?)?|[A-Za-z][+\\-.0-9A-Za-z]*:?)?$/,\n  'iri': /^[a-zA-Z][a-zA-Z0-9+.-]*:[^\\s]*$/,\n  'iri-reference': /^(((([A-Za-z][+\\-.0-9A-Za-z]*(:%[0-9A-Fa-f]{2}|:[!$&-.0-;=?-Z_a-z~-\\u{10FFFF}]|[/?])|\\?)(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~-\\u{10FFFF}])*|([A-Za-z][+\\-.0-9A-Za-z]*:?)?)|([A-Za-z][+\\-.0-9A-Za-z]*:)?\\/((%[0-9A-Fa-f]{2}|\\/((%[0-9A-Fa-f]{2}|[!$&-.0-9;=A-Z_a-z~-\\u{10FFFF}])+|(\\[(([Vv][0-9A-Fa-f]+\\.[!$&-.0-;=A-Z_a-z~-\\u{10FFFF}]+)?|[.0-:A-Fa-f]+)\\])?)(:\\d*)?[/?]|[!$&-.0-;=?-Z_a-z~-\\u{10FFFF}])(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~-\\u{10FFFF}])*|(\\/((%[0-9A-Fa-f]{2}|[!$&-.0-9;=A-Z_a-z~-\\u{10FFFF}])+|(\\[(([Vv][0-9A-Fa-f]+\\.[!$&-.0-;=A-Z_a-z~-\\u{10FFFF}]+)?|[.0-:A-Fa-f]+)\\])?)(:\\d*)?)?))#(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~-\\u{10FFFF}])*|(([A-Za-z][+\\-.0-9A-Za-z]*)?%[0-9A-Fa-f]{2}|[!$&-.0-9;=@_~-\\u{10FFFF}]|[A-Za-z][+\\-.0-9A-Za-z]*[!$&-*,;=@_~-\\u{10FFFF}])(%[0-9A-Fa-f]{2}|[!$&-.0-9;=@-Z_a-z~-\\u{10FFFF}])*((([/?](%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~-\\u{10FFFF}])*)?#|[/?])(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~-\\u{10FFFF}])*)?|([A-Za-z][+\\-.0-9A-Za-z]*(:%[0-9A-Fa-f]{2}|:[!$&-.0-;=?-Z_a-z~-\\u{10FFFF}]|[/?])|\\?)(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~-\\u{10FFFF}])*|([A-Za-z][+\\-.0-9A-Za-z]*:)?\\/((%[0-9A-Fa-f]{2}|\\/((%[0-9A-Fa-f]{2}|[!$&-.0-9;=A-Z_a-z~-\\u{10FFFF}])+|(\\[(([Vv][0-9A-Fa-f]+\\.[!$&-.0-;=A-Z_a-z~-\\u{10FFFF}]+)?|[.0-:A-Fa-f]+)\\])?)(:\\d*)?[/?]|[!$&-.0-;=?-Z_a-z~-\\u{10FFFF}])(%[0-9A-Fa-f]{2}|[!$&-;=?-Z_a-z~-\\u{10FFFF}])*|\\/((%[0-9A-Fa-f]{2}|[!$&-.0-9;=A-Z_a-z~-\\u{10FFFF}])+(:\\d*)?|(\\[(([Vv][0-9A-Fa-f]+\\.[!$&-.0-;=A-Z_a-z~-\\u{10FFFF}]+)?|[.0-:A-Fa-f]+)\\])?:\\d*|\\[(([Vv][0-9A-Fa-f]+\\.[!$&-.0-;=A-Z_a-z~-\\u{10FFFF}]+)?|[.0-:A-Fa-f]+)\\])?)?|[A-Za-z][+\\-.0-9A-Za-z]*:?)?$/u,\n  'uuid': /^[0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12}$/i,\n\n  // 7.3.6. uri-template\n  'uri-template': /(%[0-9a-f]{2}|[!#$&(-;=?@\\[\\]_a-z~]|\\{[!#&+,./;=?@|]?(%[0-9a-f]{2}|[0-9_a-z])(\\.?(%[0-9a-f]{2}|[0-9_a-z]))*(:[1-9]\\d{0,3}|\\*)?(,(%[0-9a-f]{2}|[0-9_a-z])(\\.?(%[0-9a-f]{2}|[0-9_a-z]))*(:[1-9]\\d{0,3}|\\*)?)*\\})*/iu,\n\n  // 7.3.7. JSON Pointers\n  'json-pointer': /^(\\/([\\x00-\\x2e0-@\\[-}\\x7f]|~[01])*)*$/iu,\n  'relative-json-pointer': /^\\d+(#|(\\/([\\x00-\\x2e0-@\\[-}\\x7f]|~[01])*)*)$/iu,\n\n  // hostname regex from: http://stackoverflow.com/a/1420225/5628\n  'hostname': /^(?=.{1,255}$)[0-9A-Za-z](?:(?:[0-9A-Za-z]|-){0,61}[0-9A-Za-z])?(?:\\.[0-9A-Za-z](?:(?:[0-9A-Za-z]|-){0,61}[0-9A-Za-z])?)*\\.?$/,\n  'host-name': /^(?=.{1,255}$)[0-9A-Za-z](?:(?:[0-9A-Za-z]|-){0,61}[0-9A-Za-z])?(?:\\.[0-9A-Za-z](?:(?:[0-9A-Za-z]|-){0,61}[0-9A-Za-z])?)*\\.?$/,\n\n  'utc-millisec': function (input) {\n    return (typeof input === 'string') && parseFloat(input) === parseInt(input, 10) && !isNaN(input);\n  },\n\n  // 7.3.8. regex\n  'regex': function (input) {\n    var result = true;\n    try {\n      new RegExp(input);\n    } catch (e) {\n      result = false;\n    }\n    return result;\n  },\n\n  // Other definitions\n  // \"style\" was removed from JSON Schema in draft-4 and is deprecated\n  'style': /[\\r\\n\\t ]*[^\\r\\n\\t ][^:]*:[\\r\\n\\t ]*[^\\r\\n\\t ;]*[\\r\\n\\t ]*;?/,\n  // \"color\" was removed from JSON Schema in draft-4 and is deprecated\n  'color': /^(#?([0-9A-Fa-f]{3}){1,2}\\b|aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow|(rgb\\(\\s*\\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\b\\s*,\\s*\\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\b\\s*,\\s*\\b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\b\\s*\\))|(rgb\\(\\s*(\\d?\\d%|100%)+\\s*,\\s*(\\d?\\d%|100%)+\\s*,\\s*(\\d?\\d%|100%)+\\s*\\)))$/,\n  'phone': /^\\+(?:[0-9] ?){6,14}[0-9]$/,\n  'alpha': /^[a-zA-Z]+$/,\n  'alphanumeric': /^[a-zA-Z0-9]+$/,\n};\n\nFORMAT_REGEXPS.regexp = FORMAT_REGEXPS.regex;\nFORMAT_REGEXPS.pattern = FORMAT_REGEXPS.regex;\nFORMAT_REGEXPS.ipv4 = FORMAT_REGEXPS['ip-address'];\n\nexports.isFormat = function isFormat (input, format, validator) {\n  if (typeof input === 'string' && FORMAT_REGEXPS[format] !== undefined) {\n    if (FORMAT_REGEXPS[format] instanceof RegExp) {\n      return FORMAT_REGEXPS[format].test(input);\n    }\n    if (typeof FORMAT_REGEXPS[format] === 'function') {\n      return FORMAT_REGEXPS[format](input);\n    }\n  } else if (validator && validator.customFormats &&\n      typeof validator.customFormats[format] === 'function') {\n    return validator.customFormats[format](input);\n  }\n  return true;\n};\n\nvar makeSuffix = exports.makeSuffix = function makeSuffix (key) {\n  key = key.toString();\n  // This function could be capable of outputting valid a ECMAScript string, but the\n  // resulting code for testing which form to use would be tens of thousands of characters long\n  // That means this will use the name form for some illegal forms\n  if (!key.match(/[.\\s\\[\\]]/) && !key.match(/^[\\d]/)) {\n    return '.' + key;\n  }\n  if (key.match(/^\\d+$/)) {\n    return '[' + key + ']';\n  }\n  return '[' + JSON.stringify(key) + ']';\n};\n\nexports.deepCompareStrict = function deepCompareStrict (a, b) {\n  if (typeof a !== typeof b) {\n    return false;\n  }\n  if (Array.isArray(a)) {\n    if (!Array.isArray(b)) {\n      return false;\n    }\n    if (a.length !== b.length) {\n      return false;\n    }\n    return a.every(function (v, i) {\n      return deepCompareStrict(a[i], b[i]);\n    });\n  }\n  if (typeof a === 'object') {\n    if (!a || !b) {\n      return a === b;\n    }\n    var aKeys = Object.keys(a);\n    var bKeys = Object.keys(b);\n    if (aKeys.length !== bKeys.length) {\n      return false;\n    }\n    return aKeys.every(function (v) {\n      return deepCompareStrict(a[v], b[v]);\n    });\n  }\n  return a === b;\n};\n\nfunction deepMerger (target, dst, e, i) {\n  if (typeof e === 'object') {\n    dst[i] = deepMerge(target[i], e);\n  } else {\n    if (target.indexOf(e) === -1) {\n      dst.push(e);\n    }\n  }\n}\n\nfunction copyist (src, dst, key) {\n  dst[key] = src[key];\n}\n\nfunction copyistWithDeepMerge (target, src, dst, key) {\n  if (typeof src[key] !== 'object' || !src[key]) {\n    dst[key] = src[key];\n  }\n  else {\n    if (!target[key]) {\n      dst[key] = src[key];\n    } else {\n      dst[key] = deepMerge(target[key], src[key]);\n    }\n  }\n}\n\nfunction deepMerge (target, src) {\n  var array = Array.isArray(src);\n  var dst = array && [] || {};\n\n  if (array) {\n    target = target || [];\n    dst = dst.concat(target);\n    src.forEach(deepMerger.bind(null, target, dst));\n  } else {\n    if (target && typeof target === 'object') {\n      Object.keys(target).forEach(copyist.bind(null, target, dst));\n    }\n    Object.keys(src).forEach(copyistWithDeepMerge.bind(null, target, src, dst));\n  }\n\n  return dst;\n}\n\nmodule.exports.deepMerge = deepMerge;\n\n/**\n * Validates instance against the provided schema\n * Implements URI+JSON Pointer encoding, e.g. \"%7e\"=\"~0\"=>\"~\", \"~1\"=\"%2f\"=>\"/\"\n * @param o\n * @param s The path to walk o along\n * @return any\n */\nexports.objectGetPath = function objectGetPath(o, s) {\n  var parts = s.split('/').slice(1);\n  var k;\n  while (typeof (k=parts.shift()) == 'string') {\n    var n = decodeURIComponent(k.replace(/~0/,'~').replace(/~1/g,'/'));\n    if (!(n in o)) return;\n    o = o[n];\n  }\n  return o;\n};\n\nfunction pathEncoder (v) {\n  return '/'+encodeURIComponent(v).replace(/~/g,'%7E');\n}\n/**\n * Accept an Array of property names and return a JSON Pointer URI fragment\n * @param Array a\n * @return {String}\n */\nexports.encodePath = function encodePointer(a){\n  // ~ must be encoded explicitly because hacks\n  // the slash is encoded by encodeURIComponent\n  return a.map(pathEncoder).join('');\n};\n\n\n/**\n * Calculate the number of decimal places a number uses\n * We need this to get correct results out of multipleOf and divisibleBy\n * when either figure is has decimal places, due to IEEE-754 float issues.\n * @param number\n * @returns {number}\n */\nexports.getDecimalPlaces = function getDecimalPlaces(number) {\n\n  var decimalPlaces = 0;\n  if (isNaN(number)) return decimalPlaces;\n\n  if (typeof number !== 'number') {\n    number = Number(number);\n  }\n\n  var parts = number.toString().split('e');\n  if (parts.length === 2) {\n    if (parts[1][0] !== '-') {\n      return decimalPlaces;\n    } else {\n      decimalPlaces = Number(parts[1].slice(1));\n    }\n  }\n\n  var decimalParts = parts[0].split('.');\n  if (decimalParts.length === 2) {\n    decimalPlaces += decimalParts[1].length;\n  }\n\n  return decimalPlaces;\n};\n\nexports.isSchema = function isSchema(val){\n  return (typeof val === 'object' && val) || (typeof val === 'boolean');\n};\n\n","'use strict';\n\nvar helpers = require('./helpers');\n\n/** @type ValidatorResult */\nvar ValidatorResult = helpers.ValidatorResult;\n/** @type SchemaError */\nvar SchemaError = helpers.SchemaError;\n\nvar attribute = {};\n\nattribute.ignoreProperties = {\n  // informative properties\n  'id': true,\n  'default': true,\n  'description': true,\n  'title': true,\n  // arguments to other properties\n  'additionalItems': true,\n  'then': true,\n  'else': true,\n  // special-handled properties\n  '$schema': true,\n  '$ref': true,\n  'extends': true,\n};\n\n/**\n * @name validators\n */\nvar validators = attribute.validators = {};\n\n/**\n * Validates whether the instance if of a certain type\n * @param instance\n * @param schema\n * @param options\n * @param ctx\n * @return {ValidatorResult|null}\n */\nvalidators.type = function validateType (instance, schema, options, ctx) {\n  // Ignore undefined instances\n  if (instance === undefined) {\n    return null;\n  }\n  var result = new ValidatorResult(instance, schema, options, ctx);\n  var types = Array.isArray(schema.type) ? schema.type : [schema.type];\n  if (!types.some(this.testType.bind(this, instance, schema, options, ctx))) {\n    var list = types.map(function (v) {\n      if(!v) return;\n      var id = v.$id || v.id;\n      return id ? ('<' + id + '>') : (v+'');\n    });\n    result.addError({\n      name: 'type',\n      argument: list,\n      message: \"is not of a type(s) \" + list,\n    });\n  }\n  return result;\n};\n\nfunction testSchemaNoThrow(instance, options, ctx, callback, schema){\n  var throwError = options.throwError;\n  var throwAll = options.throwAll;\n  options.throwError = false;\n  options.throwAll = false;\n  var res = this.validateSchema(instance, schema, options, ctx);\n  options.throwError = throwError;\n  options.throwAll = throwAll;\n\n  if (!res.valid && callback instanceof Function) {\n    callback(res);\n  }\n  return res.valid;\n}\n\n/**\n * Validates whether the instance matches some of the given schemas\n * @param instance\n * @param schema\n * @param options\n * @param ctx\n * @return {ValidatorResult|null}\n */\nvalidators.anyOf = function validateAnyOf (instance, schema, options, ctx) {\n  // Ignore undefined instances\n  if (instance === undefined) {\n    return null;\n  }\n  var result = new ValidatorResult(instance, schema, options, ctx);\n  var inner = new ValidatorResult(instance, schema, options, ctx);\n  if (!Array.isArray(schema.anyOf)){\n    throw new SchemaError(\"anyOf must be an array\");\n  }\n  if (!schema.anyOf.some(\n    testSchemaNoThrow.bind(\n      this, instance, options, ctx, function(res){inner.importErrors(res);}\n    ))) {\n    var list = schema.anyOf.map(function (v, i) {\n      var id = v.$id || v.id;\n      if(id) return '<' + id + '>';\n      return(v.title && JSON.stringify(v.title)) || (v['$ref'] && ('<' + v['$ref'] + '>')) || '[subschema '+i+']';\n    });\n    if (options.nestedErrors) {\n      result.importErrors(inner);\n    }\n    result.addError({\n      name: 'anyOf',\n      argument: list,\n      message: \"is not any of \" + list.join(','),\n    });\n  }\n  return result;\n};\n\n/**\n * Validates whether the instance matches every given schema\n * @param instance\n * @param schema\n * @param options\n * @param ctx\n * @return {String|null}\n */\nvalidators.allOf = function validateAllOf (instance, schema, options, ctx) {\n  // Ignore undefined instances\n  if (instance === undefined) {\n    return null;\n  }\n  if (!Array.isArray(schema.allOf)){\n    throw new SchemaError(\"allOf must be an array\");\n  }\n  var result = new ValidatorResult(instance, schema, options, ctx);\n  var self = this;\n  schema.allOf.forEach(function(v, i){\n    var valid = self.validateSchema(instance, v, options, ctx);\n    if(!valid.valid){\n      var id = v.$id || v.id;\n      var msg = id || (v.title && JSON.stringify(v.title)) || (v['$ref'] && ('<' + v['$ref'] + '>')) || '[subschema '+i+']';\n      result.addError({\n        name: 'allOf',\n        argument: { id: msg, length: valid.errors.length, valid: valid },\n        message: 'does not match allOf schema ' + msg + ' with ' + valid.errors.length + ' error[s]:',\n      });\n      result.importErrors(valid);\n    }\n  });\n  return result;\n};\n\n/**\n * Validates whether the instance matches exactly one of the given schemas\n * @param instance\n * @param schema\n * @param options\n * @param ctx\n * @return {String|null}\n */\nvalidators.oneOf = function validateOneOf (instance, schema, options, ctx) {\n  // Ignore undefined instances\n  if (instance === undefined) {\n    return null;\n  }\n  if (!Array.isArray(schema.oneOf)){\n    throw new SchemaError(\"oneOf must be an array\");\n  }\n  var result = new ValidatorResult(instance, schema, options, ctx);\n  var inner = new ValidatorResult(instance, schema, options, ctx);\n  var count = schema.oneOf.filter(\n    testSchemaNoThrow.bind(\n      this, instance, options, ctx, function(res) {inner.importErrors(res);}\n    ) ).length;\n  var list = schema.oneOf.map(function (v, i) {\n    var id = v.$id || v.id;\n    return id || (v.title && JSON.stringify(v.title)) || (v['$ref'] && ('<' + v['$ref'] + '>')) || '[subschema '+i+']';\n  });\n  if (count!==1) {\n    if (options.nestedErrors) {\n      result.importErrors(inner);\n    }\n    result.addError({\n      name: 'oneOf',\n      argument: list,\n      message: \"is not exactly one from \" + list.join(','),\n    });\n  }\n  return result;\n};\n\n/**\n * Validates \"then\" or \"else\" depending on the result of validating \"if\"\n * @param instance\n * @param schema\n * @param options\n * @param ctx\n * @return {String|null}\n */\nvalidators.if = function validateIf (instance, schema, options, ctx) {\n  // Ignore undefined instances\n  if (instance === undefined) return null;\n  if (!helpers.isSchema(schema.if)) throw new Error('Expected \"if\" keyword to be a schema');\n  var ifValid = testSchemaNoThrow.call(this, instance, options, ctx, null, schema.if);\n  var result = new ValidatorResult(instance, schema, options, ctx);\n  var res;\n  if(ifValid){\n    if (schema.then === undefined) return;\n    if (!helpers.isSchema(schema.then)) throw new Error('Expected \"then\" keyword to be a schema');\n    res = this.validateSchema(instance, schema.then, options, ctx.makeChild(schema.then));\n    result.importErrors(res);\n  }else{\n    if (schema.else === undefined) return;\n    if (!helpers.isSchema(schema.else)) throw new Error('Expected \"else\" keyword to be a schema');\n    res = this.validateSchema(instance, schema.else, options, ctx.makeChild(schema.else));\n    result.importErrors(res);\n  }\n  return result;\n};\n\nfunction getEnumerableProperty(object, key){\n  // Determine if `key` shows up in `for(var key in object)`\n  // First test Object.hasOwnProperty.call as an optimization: that guarantees it does\n  if(Object.hasOwnProperty.call(object, key)) return object[key];\n  // Test `key in object` as an optimization; false means it won't\n  if(!(key in object)) return;\n  while( (object = Object.getPrototypeOf(object)) ){\n    if(Object.propertyIsEnumerable.call(object, key)) return object[key];\n  }\n}\n\n/**\n * Validates propertyNames\n * @param instance\n * @param schema\n * @param options\n * @param ctx\n * @return {String|null|ValidatorResult}\n */\nvalidators.propertyNames = function validatePropertyNames (instance, schema, options, ctx) {\n  if(!this.types.object(instance)) return;\n  var result = new ValidatorResult(instance, schema, options, ctx);\n  var subschema = schema.propertyNames!==undefined ? schema.propertyNames : {};\n  if(!helpers.isSchema(subschema)) throw new SchemaError('Expected \"propertyNames\" to be a schema (object or boolean)');\n\n  for (var property in instance) {\n    if(getEnumerableProperty(instance, property) !== undefined){\n      var res = this.validateSchema(property, subschema, options, ctx.makeChild(subschema));\n      result.importErrors(res);\n    }\n  }\n\n  return result;\n};\n\n/**\n * Validates properties\n * @param instance\n * @param schema\n * @param options\n * @param ctx\n * @return {String|null|ValidatorResult}\n */\nvalidators.properties = function validateProperties (instance, schema, options, ctx) {\n  if(!this.types.object(instance)) return;\n  var result = new ValidatorResult(instance, schema, options, ctx);\n  var properties = schema.properties || {};\n  for (var property in properties) {\n    var subschema = properties[property];\n    if(subschema===undefined){\n      continue;\n    }else if(subschema===null){\n      throw new SchemaError('Unexpected null, expected schema in \"properties\"');\n    }\n    if (typeof options.preValidateProperty == 'function') {\n      options.preValidateProperty(instance, property, subschema, options, ctx);\n    }\n    var prop = getEnumerableProperty(instance, property);\n    var res = this.validateSchema(prop, subschema, options, ctx.makeChild(subschema, property));\n    if(res.instance !== result.instance[property]) result.instance[property] = res.instance;\n    result.importErrors(res);\n  }\n  return result;\n};\n\n/**\n * Test a specific property within in instance against the additionalProperties schema attribute\n * This ignores properties with definitions in the properties schema attribute, but no other attributes.\n * If too many more types of property-existence tests pop up they may need their own class of tests (like `type` has)\n * @private\n * @return {boolean}\n */\nfunction testAdditionalProperty (instance, schema, options, ctx, property, result) {\n  if(!this.types.object(instance)) return;\n  if (schema.properties && schema.properties[property] !== undefined) {\n    return;\n  }\n  if (schema.additionalProperties === false) {\n    result.addError({\n      name: 'additionalProperties',\n      argument: property,\n      message: \"is not allowed to have the additional property \" + JSON.stringify(property),\n    });\n  } else {\n    var additionalProperties = schema.additionalProperties || {};\n\n    if (typeof options.preValidateProperty == 'function') {\n      options.preValidateProperty(instance, property, additionalProperties, options, ctx);\n    }\n\n    var res = this.validateSchema(instance[property], additionalProperties, options, ctx.makeChild(additionalProperties, property));\n    if(res.instance !== result.instance[property]) result.instance[property] = res.instance;\n    result.importErrors(res);\n  }\n}\n\n/**\n * Validates patternProperties\n * @param instance\n * @param schema\n * @param options\n * @param ctx\n * @return {String|null|ValidatorResult}\n */\nvalidators.patternProperties = function validatePatternProperties (instance, schema, options, ctx) {\n  if(!this.types.object(instance)) return;\n  var result = new ValidatorResult(instance, schema, options, ctx);\n  var patternProperties = schema.patternProperties || {};\n\n  for (var property in instance) {\n    var test = true;\n    for (var pattern in patternProperties) {\n      var subschema = patternProperties[pattern];\n      if(subschema===undefined){\n        continue;\n      }else if(subschema===null){\n        throw new SchemaError('Unexpected null, expected schema in \"patternProperties\"');\n      }\n      try {\n        var regexp = new RegExp(pattern, 'u');\n      } catch(_e) {\n        // In the event the stricter handling causes an error, fall back on the forgiving handling\n        // DEPRECATED\n        regexp = new RegExp(pattern);\n      }\n      if (!regexp.test(property)) {\n        continue;\n      }\n      test = false;\n\n      if (typeof options.preValidateProperty == 'function') {\n        options.preValidateProperty(instance, property, subschema, options, ctx);\n      }\n\n      var res = this.validateSchema(instance[property], subschema, options, ctx.makeChild(subschema, property));\n      if(res.instance !== result.instance[property]) result.instance[property] = res.instance;\n      result.importErrors(res);\n    }\n    if (test) {\n      testAdditionalProperty.call(this, instance, schema, options, ctx, property, result);\n    }\n  }\n\n  return result;\n};\n\n/**\n * Validates additionalProperties\n * @param instance\n * @param schema\n * @param options\n * @param ctx\n * @return {String|null|ValidatorResult}\n */\nvalidators.additionalProperties = function validateAdditionalProperties (instance, schema, options, ctx) {\n  if(!this.types.object(instance)) return;\n  // if patternProperties is defined then we'll test when that one is called instead\n  if (schema.patternProperties) {\n    return null;\n  }\n  var result = new ValidatorResult(instance, schema, options, ctx);\n  for (var property in instance) {\n    testAdditionalProperty.call(this, instance, schema, options, ctx, property, result);\n  }\n  return result;\n};\n\n/**\n * Validates whether the instance value is at least of a certain length, when the instance value is a string.\n * @param instance\n * @param schema\n * @return {String|null}\n */\nvalidators.minProperties = function validateMinProperties (instance, schema, options, ctx) {\n  if (!this.types.object(instance)) return;\n  var result = new ValidatorResult(instance, schema, options, ctx);\n  var keys = Object.keys(instance);\n  if (!(keys.length >= schema.minProperties)) {\n    result.addError({\n      name: 'minProperties',\n      argument: schema.minProperties,\n      message: \"does not meet minimum property length of \" + schema.minProperties,\n    });\n  }\n  return result;\n};\n\n/**\n * Validates whether the instance value is at most of a certain length, when the instance value is a string.\n * @param instance\n * @param schema\n * @return {String|null}\n */\nvalidators.maxProperties = function validateMaxProperties (instance, schema, options, ctx) {\n  if (!this.types.object(instance)) return;\n  var result = new ValidatorResult(instance, schema, options, ctx);\n  var keys = Object.keys(instance);\n  if (!(keys.length <= schema.maxProperties)) {\n    result.addError({\n      name: 'maxProperties',\n      argument: schema.maxProperties,\n      message: \"does not meet maximum property length of \" + schema.maxProperties,\n    });\n  }\n  return result;\n};\n\n/**\n * Validates items when instance is an array\n * @param instance\n * @param schema\n * @param options\n * @param ctx\n * @return {String|null|ValidatorResult}\n */\nvalidators.items = function validateItems (instance, schema, options, ctx) {\n  var self = this;\n  if (!this.types.array(instance)) return;\n  if (schema.items===undefined) return;\n  var result = new ValidatorResult(instance, schema, options, ctx);\n  instance.every(function (value, i) {\n    if(Array.isArray(schema.items)){\n      var items =  schema.items[i]===undefined ? schema.additionalItems : schema.items[i];\n    }else{\n      var items = schema.items;\n    }\n    if (items === undefined) {\n      return true;\n    }\n    if (items === false) {\n      result.addError({\n        name: 'items',\n        message: \"additionalItems not permitted\",\n      });\n      return false;\n    }\n    var res = self.validateSchema(value, items, options, ctx.makeChild(items, i));\n    if(res.instance !== result.instance[i]) result.instance[i] = res.instance;\n    result.importErrors(res);\n    return true;\n  });\n  return result;\n};\n\n/**\n * Validates the \"contains\" keyword\n * @param instance\n * @param schema\n * @param options\n * @param ctx\n * @return {String|null|ValidatorResult}\n */\nvalidators.contains = function validateContains (instance, schema, options, ctx) {\n  var self = this;\n  if (!this.types.array(instance)) return;\n  if (schema.contains===undefined) return;\n  if (!helpers.isSchema(schema.contains)) throw new Error('Expected \"contains\" keyword to be a schema');\n  var result = new ValidatorResult(instance, schema, options, ctx);\n  var count = instance.some(function (value, i) {\n    var res = self.validateSchema(value, schema.contains, options, ctx.makeChild(schema.contains, i));\n    return res.errors.length===0;\n  });\n  if(count===false){\n    result.addError({\n      name: 'contains',\n      argument: schema.contains,\n      message: \"must contain an item matching given schema\",\n    });\n  }\n  return result;\n};\n\n/**\n * Validates minimum and exclusiveMinimum when the type of the instance value is a number.\n * @param instance\n * @param schema\n * @return {String|null}\n */\nvalidators.minimum = function validateMinimum (instance, schema, options, ctx) {\n  if (!this.types.number(instance)) return;\n  var result = new ValidatorResult(instance, schema, options, ctx);\n  if (schema.exclusiveMinimum && schema.exclusiveMinimum === true) {\n    if(!(instance > schema.minimum)){\n      result.addError({\n        name: 'minimum',\n        argument: schema.minimum,\n        message: \"must be greater than \" + schema.minimum,\n      });\n    }\n  } else {\n    if(!(instance >= schema.minimum)){\n      result.addError({\n        name: 'minimum',\n        argument: schema.minimum,\n        message: \"must be greater than or equal to \" + schema.minimum,\n      });\n    }\n  }\n  return result;\n};\n\n/**\n * Validates maximum and exclusiveMaximum when the type of the instance value is a number.\n * @param instance\n * @param schema\n * @return {String|null}\n */\nvalidators.maximum = function validateMaximum (instance, schema, options, ctx) {\n  if (!this.types.number(instance)) return;\n  var result = new ValidatorResult(instance, schema, options, ctx);\n  if (schema.exclusiveMaximum && schema.exclusiveMaximum === true) {\n    if(!(instance < schema.maximum)){\n      result.addError({\n        name: 'maximum',\n        argument: schema.maximum,\n        message: \"must be less than \" + schema.maximum,\n      });\n    }\n  } else {\n    if(!(instance <= schema.maximum)){\n      result.addError({\n        name: 'maximum',\n        argument: schema.maximum,\n        message: \"must be less than or equal to \" + schema.maximum,\n      });\n    }\n  }\n  return result;\n};\n\n/**\n * Validates the number form of exclusiveMinimum when the type of the instance value is a number.\n * @param instance\n * @param schema\n * @return {String|null}\n */\nvalidators.exclusiveMinimum = function validateExclusiveMinimum (instance, schema, options, ctx) {\n  // Support the boolean form of exclusiveMinimum, which is handled by the \"minimum\" keyword.\n  if(typeof schema.exclusiveMinimum === 'boolean') return;\n  if (!this.types.number(instance)) return;\n  var result = new ValidatorResult(instance, schema, options, ctx);\n  var valid = instance > schema.exclusiveMinimum;\n  if (!valid) {\n    result.addError({\n      name: 'exclusiveMinimum',\n      argument: schema.exclusiveMinimum,\n      message: \"must be strictly greater than \" + schema.exclusiveMinimum,\n    });\n  }\n  return result;\n};\n\n/**\n * Validates the number form of exclusiveMaximum when the type of the instance value is a number.\n * @param instance\n * @param schema\n * @return {String|null}\n */\nvalidators.exclusiveMaximum = function validateExclusiveMaximum (instance, schema, options, ctx) {\n  // Support the boolean form of exclusiveMaximum, which is handled by the \"maximum\" keyword.\n  if(typeof schema.exclusiveMaximum === 'boolean') return;\n  if (!this.types.number(instance)) return;\n  var result = new ValidatorResult(instance, schema, options, ctx);\n  var valid = instance < schema.exclusiveMaximum;\n  if (!valid) {\n    result.addError({\n      name: 'exclusiveMaximum',\n      argument: schema.exclusiveMaximum,\n      message: \"must be strictly less than \" + schema.exclusiveMaximum,\n    });\n  }\n  return result;\n};\n\n/**\n * Perform validation for multipleOf and divisibleBy, which are essentially the same.\n * @param instance\n * @param schema\n * @param validationType\n * @param errorMessage\n * @returns {String|null}\n */\nvar validateMultipleOfOrDivisbleBy = function validateMultipleOfOrDivisbleBy (instance, schema, options, ctx, validationType, errorMessage) {\n  if (!this.types.number(instance)) return;\n\n  var validationArgument = schema[validationType];\n  if (validationArgument == 0) {\n    throw new SchemaError(validationType + \" cannot be zero\");\n  }\n\n  var result = new ValidatorResult(instance, schema, options, ctx);\n\n  var instanceDecimals = helpers.getDecimalPlaces(instance);\n  var divisorDecimals = helpers.getDecimalPlaces(validationArgument);\n\n  var maxDecimals = Math.max(instanceDecimals , divisorDecimals);\n  var multiplier = Math.pow(10, maxDecimals);\n\n  if (Math.round(instance * multiplier) % Math.round(validationArgument * multiplier) !== 0) {\n    result.addError({\n      name: validationType,\n      argument:  validationArgument,\n      message: errorMessage + JSON.stringify(validationArgument),\n    });\n  }\n\n  return result;\n};\n\n/**\n * Validates divisibleBy when the type of the instance value is a number.\n * @param instance\n * @param schema\n * @return {String|null}\n */\nvalidators.multipleOf = function validateMultipleOf (instance, schema, options, ctx) {\n  return validateMultipleOfOrDivisbleBy.call(this, instance, schema, options, ctx, \"multipleOf\", \"is not a multiple of (divisible by) \");\n};\n\n/**\n * Validates multipleOf when the type of the instance value is a number.\n * @param instance\n * @param schema\n * @return {String|null}\n */\nvalidators.divisibleBy = function validateDivisibleBy (instance, schema, options, ctx) {\n  return validateMultipleOfOrDivisbleBy.call(this, instance, schema, options, ctx, \"divisibleBy\", \"is not divisible by (multiple of) \");\n};\n\n/**\n * Validates whether the instance value is present.\n * @param instance\n * @param schema\n * @return {String|null}\n */\nvalidators.required = function validateRequired (instance, schema, options, ctx) {\n  var result = new ValidatorResult(instance, schema, options, ctx);\n  if (instance === undefined && schema.required === true) {\n    // A boolean form is implemented for reverse-compatibility with schemas written against older drafts\n    result.addError({\n      name: 'required',\n      message: \"is required\",\n    });\n  } else if (this.types.object(instance) && Array.isArray(schema.required)) {\n    schema.required.forEach(function(n){\n      if(getEnumerableProperty(instance, n)===undefined){\n        result.addError({\n          name: 'required',\n          argument: n,\n          message: \"requires property \" + JSON.stringify(n),\n        });\n      }\n    });\n  }\n  return result;\n};\n\n/**\n * Validates whether the instance value matches the regular expression, when the instance value is a string.\n * @param instance\n * @param schema\n * @return {String|null}\n */\nvalidators.pattern = function validatePattern (instance, schema, options, ctx) {\n  if (!this.types.string(instance)) return;\n  var result = new ValidatorResult(instance, schema, options, ctx);\n  var pattern = schema.pattern;\n  try {\n    var regexp = new RegExp(pattern, 'u');\n  } catch(_e) {\n    // In the event the stricter handling causes an error, fall back on the forgiving handling\n    // DEPRECATED\n    regexp = new RegExp(pattern);\n  }\n  if (!instance.match(regexp)) {\n    result.addError({\n      name: 'pattern',\n      argument: schema.pattern,\n      message: \"does not match pattern \" + JSON.stringify(schema.pattern.toString()),\n    });\n  }\n  return result;\n};\n\n/**\n * Validates whether the instance value is of a certain defined format or a custom\n * format.\n * The following formats are supported for string types:\n *   - date-time\n *   - date\n *   - time\n *   - ip-address\n *   - ipv6\n *   - uri\n *   - color\n *   - host-name\n *   - alpha\n *   - alpha-numeric\n *   - utc-millisec\n * @param instance\n * @param schema\n * @param [options]\n * @param [ctx]\n * @return {String|null}\n */\nvalidators.format = function validateFormat (instance, schema, options, ctx) {\n  if (instance===undefined) return;\n  var result = new ValidatorResult(instance, schema, options, ctx);\n  if (!result.disableFormat && !helpers.isFormat(instance, schema.format, this)) {\n    result.addError({\n      name: 'format',\n      argument: schema.format,\n      message: \"does not conform to the \" + JSON.stringify(schema.format) + \" format\",\n    });\n  }\n  return result;\n};\n\n/**\n * Validates whether the instance value is at least of a certain length, when the instance value is a string.\n * @param instance\n * @param schema\n * @return {String|null}\n */\nvalidators.minLength = function validateMinLength (instance, schema, options, ctx) {\n  if (!this.types.string(instance)) return;\n  var result = new ValidatorResult(instance, schema, options, ctx);\n  var hsp = instance.match(/[\\uDC00-\\uDFFF]/g);\n  var length = instance.length - (hsp ? hsp.length : 0);\n  if (!(length >= schema.minLength)) {\n    result.addError({\n      name: 'minLength',\n      argument: schema.minLength,\n      message: \"does not meet minimum length of \" + schema.minLength,\n    });\n  }\n  return result;\n};\n\n/**\n * Validates whether the instance value is at most of a certain length, when the instance value is a string.\n * @param instance\n * @param schema\n * @return {String|null}\n */\nvalidators.maxLength = function validateMaxLength (instance, schema, options, ctx) {\n  if (!this.types.string(instance)) return;\n  var result = new ValidatorResult(instance, schema, options, ctx);\n  // TODO if this was already computed in \"minLength\", use that value instead of re-computing\n  var hsp = instance.match(/[\\uDC00-\\uDFFF]/g);\n  var length = instance.length - (hsp ? hsp.length : 0);\n  if (!(length <= schema.maxLength)) {\n    result.addError({\n      name: 'maxLength',\n      argument: schema.maxLength,\n      message: \"does not meet maximum length of \" + schema.maxLength,\n    });\n  }\n  return result;\n};\n\n/**\n * Validates whether instance contains at least a minimum number of items, when the instance is an Array.\n * @param instance\n * @param schema\n * @return {String|null}\n */\nvalidators.minItems = function validateMinItems (instance, schema, options, ctx) {\n  if (!this.types.array(instance)) return;\n  var result = new ValidatorResult(instance, schema, options, ctx);\n  if (!(instance.length >= schema.minItems)) {\n    result.addError({\n      name: 'minItems',\n      argument: schema.minItems,\n      message: \"does not meet minimum length of \" + schema.minItems,\n    });\n  }\n  return result;\n};\n\n/**\n * Validates whether instance contains no more than a maximum number of items, when the instance is an Array.\n * @param instance\n * @param schema\n * @return {String|null}\n */\nvalidators.maxItems = function validateMaxItems (instance, schema, options, ctx) {\n  if (!this.types.array(instance)) return;\n  var result = new ValidatorResult(instance, schema, options, ctx);\n  if (!(instance.length <= schema.maxItems)) {\n    result.addError({\n      name: 'maxItems',\n      argument: schema.maxItems,\n      message: \"does not meet maximum length of \" + schema.maxItems,\n    });\n  }\n  return result;\n};\n\n/**\n * Deep compares arrays for duplicates\n * @param v\n * @param i\n * @param a\n * @private\n * @return {boolean}\n */\nfunction testArrays (v, i, a) {\n  var j, len = a.length;\n  for (j = i + 1, len; j < len; j++) {\n    if (helpers.deepCompareStrict(v, a[j])) {\n      return false;\n    }\n  }\n  return true;\n}\n\n/**\n * Validates whether there are no duplicates, when the instance is an Array.\n * @param instance\n * @return {String|null}\n */\nvalidators.uniqueItems = function validateUniqueItems (instance, schema, options, ctx) {\n  if (schema.uniqueItems!==true) return;\n  if (!this.types.array(instance)) return;\n  var result = new ValidatorResult(instance, schema, options, ctx);\n  if (!instance.every(testArrays)) {\n    result.addError({\n      name: 'uniqueItems',\n      message: \"contains duplicate item\",\n    });\n  }\n  return result;\n};\n\n/**\n * Validate for the presence of dependency properties, if the instance is an object.\n * @param instance\n * @param schema\n * @param options\n * @param ctx\n * @return {null|ValidatorResult}\n */\nvalidators.dependencies = function validateDependencies (instance, schema, options, ctx) {\n  if (!this.types.object(instance)) return;\n  var result = new ValidatorResult(instance, schema, options, ctx);\n  for (var property in schema.dependencies) {\n    if (instance[property] === undefined) {\n      continue;\n    }\n    var dep = schema.dependencies[property];\n    var childContext = ctx.makeChild(dep, property);\n    if (typeof dep == 'string') {\n      dep = [dep];\n    }\n    if (Array.isArray(dep)) {\n      dep.forEach(function (prop) {\n        if (instance[prop] === undefined) {\n          result.addError({\n            // FIXME there's two different \"dependencies\" errors here with slightly different outputs\n            // Can we make these the same? Or should we create different error types?\n            name: 'dependencies',\n            argument: childContext.propertyPath,\n            message: \"property \" + prop + \" not found, required by \" + childContext.propertyPath,\n          });\n        }\n      });\n    } else {\n      var res = this.validateSchema(instance, dep, options, childContext);\n      if(result.instance !== res.instance) result.instance = res.instance;\n      if (res && res.errors.length) {\n        result.addError({\n          name: 'dependencies',\n          argument: childContext.propertyPath,\n          message: \"does not meet dependency required by \" + childContext.propertyPath,\n        });\n        result.importErrors(res);\n      }\n    }\n  }\n  return result;\n};\n\n/**\n * Validates whether the instance value is one of the enumerated values.\n *\n * @param instance\n * @param schema\n * @return {ValidatorResult|null}\n */\nvalidators['enum'] = function validateEnum (instance, schema, options, ctx) {\n  if (instance === undefined) {\n    return null;\n  }\n  if (!Array.isArray(schema['enum'])) {\n    throw new SchemaError(\"enum expects an array\", schema);\n  }\n  var result = new ValidatorResult(instance, schema, options, ctx);\n  if (!schema['enum'].some(helpers.deepCompareStrict.bind(null, instance))) {\n    result.addError({\n      name: 'enum',\n      argument: schema['enum'],\n      message: \"is not one of enum values: \" + schema['enum'].map(String).join(','),\n    });\n  }\n  return result;\n};\n\n/**\n * Validates whether the instance exactly matches a given value\n *\n * @param instance\n * @param schema\n * @return {ValidatorResult|null}\n */\nvalidators['const'] = function validateEnum (instance, schema, options, ctx) {\n  if (instance === undefined) {\n    return null;\n  }\n  var result = new ValidatorResult(instance, schema, options, ctx);\n  if (!helpers.deepCompareStrict(schema['const'], instance)) {\n    result.addError({\n      name: 'const',\n      argument: schema['const'],\n      message: \"does not exactly match expected constant: \" + schema['const'],\n    });\n  }\n  return result;\n};\n\n/**\n * Validates whether the instance if of a prohibited type.\n * @param instance\n * @param schema\n * @param options\n * @param ctx\n * @return {null|ValidatorResult}\n */\nvalidators.not = validators.disallow = function validateNot (instance, schema, options, ctx) {\n  var self = this;\n  if(instance===undefined) return null;\n  var result = new ValidatorResult(instance, schema, options, ctx);\n  var notTypes = schema.not || schema.disallow;\n  if(!notTypes) return null;\n  if(!Array.isArray(notTypes)) notTypes=[notTypes];\n  notTypes.forEach(function (type) {\n    if (self.testType(instance, schema, options, ctx, type)) {\n      var id = type && (type.$id || type.id);\n      var schemaId = id || type;\n      result.addError({\n        name: 'not',\n        argument: schemaId,\n        message: \"is of prohibited type \" + schemaId,\n      });\n    }\n  });\n  return result;\n};\n\nmodule.exports = attribute;\n","\"use strict\";\n\nvar urilib = require('url');\nvar helpers = require('./helpers');\n\nmodule.exports.SchemaScanResult = SchemaScanResult;\nfunction SchemaScanResult(found, ref){\n  this.id = found;\n  this.ref = ref;\n}\n\n/**\n * Adds a schema with a certain urn to the Validator instance.\n * @param string uri\n * @param object schema\n * @return {Object}\n */\nmodule.exports.scan = function scan(base, schema){\n  function scanSchema(baseuri, schema){\n    if(!schema || typeof schema!='object') return;\n    // Mark all referenced schemas so we can tell later which schemas are referred to, but never defined\n    if(schema.$ref){\n      var resolvedUri = urilib.resolve(baseuri, schema.$ref);\n      ref[resolvedUri] = ref[resolvedUri] ? ref[resolvedUri]+1 : 0;\n      return;\n    }\n    var id = schema.$id || schema.id;\n    var ourBase = id ? urilib.resolve(baseuri, id) : baseuri;\n    if (ourBase) {\n      // If there's no fragment, append an empty one\n      if(ourBase.indexOf('#')<0) ourBase += '#';\n      if(found[ourBase]){\n        if(!helpers.deepCompareStrict(found[ourBase], schema)){\n          throw new Error('Schema <'+ourBase+'> already exists with different definition');\n        }\n        return found[ourBase];\n      }\n      found[ourBase] = schema;\n      // strip trailing fragment\n      if(ourBase[ourBase.length-1]=='#'){\n        found[ourBase.substring(0, ourBase.length-1)] = schema;\n      }\n    }\n    scanArray(ourBase+'/items', (Array.isArray(schema.items)?schema.items:[schema.items]));\n    scanArray(ourBase+'/extends', (Array.isArray(schema.extends)?schema.extends:[schema.extends]));\n    scanSchema(ourBase+'/additionalItems', schema.additionalItems);\n    scanObject(ourBase+'/properties', schema.properties);\n    scanSchema(ourBase+'/additionalProperties', schema.additionalProperties);\n    scanObject(ourBase+'/definitions', schema.definitions);\n    scanObject(ourBase+'/patternProperties', schema.patternProperties);\n    scanObject(ourBase+'/dependencies', schema.dependencies);\n    scanArray(ourBase+'/disallow', schema.disallow);\n    scanArray(ourBase+'/allOf', schema.allOf);\n    scanArray(ourBase+'/anyOf', schema.anyOf);\n    scanArray(ourBase+'/oneOf', schema.oneOf);\n    scanSchema(ourBase+'/not', schema.not);\n  }\n  function scanArray(baseuri, schemas){\n    if(!Array.isArray(schemas)) return;\n    for(var i=0; i<schemas.length; i++){\n      scanSchema(baseuri+'/'+i, schemas[i]);\n    }\n  }\n  function scanObject(baseuri, schemas){\n    if(!schemas || typeof schemas!='object') return;\n    for(var p in schemas){\n      scanSchema(baseuri+'/'+p, schemas[p]);\n    }\n  }\n\n  var found = {};\n  var ref = {};\n  scanSchema(base, schema);\n  return new SchemaScanResult(found, ref);\n};\n","'use strict';\n\nvar urilib = require('url');\n\nvar attribute = require('./attribute');\nvar helpers = require('./helpers');\nvar scanSchema = require('./scan').scan;\nvar ValidatorResult = helpers.ValidatorResult;\nvar ValidatorResultError = helpers.ValidatorResultError;\nvar SchemaError = helpers.SchemaError;\nvar SchemaContext = helpers.SchemaContext;\n//var anonymousBase = 'vnd.jsonschema:///';\nvar anonymousBase = '/';\n\n/**\n * Creates a new Validator object\n * @name Validator\n * @constructor\n */\nvar Validator = function Validator () {\n  // Allow a validator instance to override global custom formats or to have their\n  // own custom formats.\n  this.customFormats = Object.create(Validator.prototype.customFormats);\n  this.schemas = {};\n  this.unresolvedRefs = [];\n\n  // Use Object.create to make this extensible without Validator instances stepping on each other's toes.\n  this.types = Object.create(types);\n  this.attributes = Object.create(attribute.validators);\n};\n\n// Allow formats to be registered globally.\nValidator.prototype.customFormats = {};\n\n// Hint at the presence of a property\nValidator.prototype.schemas = null;\nValidator.prototype.types = null;\nValidator.prototype.attributes = null;\nValidator.prototype.unresolvedRefs = null;\n\n/**\n * Adds a schema with a certain urn to the Validator instance.\n * @param schema\n * @param urn\n * @return {Object}\n */\nValidator.prototype.addSchema = function addSchema (schema, base) {\n  var self = this;\n  if (!schema) {\n    return null;\n  }\n  var scan = scanSchema(base||anonymousBase, schema);\n  var ourUri = base || schema.$id || schema.id;\n  for(var uri in scan.id){\n    this.schemas[uri] = scan.id[uri];\n  }\n  for(var uri in scan.ref){\n    // If this schema is already defined, it will be filtered out by the next step\n    this.unresolvedRefs.push(uri);\n  }\n  // Remove newly defined schemas from unresolvedRefs\n  this.unresolvedRefs = this.unresolvedRefs.filter(function(uri){\n    return typeof self.schemas[uri]==='undefined';\n  });\n  return this.schemas[ourUri];\n};\n\nValidator.prototype.addSubSchemaArray = function addSubSchemaArray(baseuri, schemas) {\n  if(!Array.isArray(schemas)) return;\n  for(var i=0; i<schemas.length; i++){\n    this.addSubSchema(baseuri, schemas[i]);\n  }\n};\n\nValidator.prototype.addSubSchemaObject = function addSubSchemaArray(baseuri, schemas) {\n  if(!schemas || typeof schemas!='object') return;\n  for(var p in schemas){\n    this.addSubSchema(baseuri, schemas[p]);\n  }\n};\n\n\n\n/**\n * Sets all the schemas of the Validator instance.\n * @param schemas\n */\nValidator.prototype.setSchemas = function setSchemas (schemas) {\n  this.schemas = schemas;\n};\n\n/**\n * Returns the schema of a certain urn\n * @param urn\n */\nValidator.prototype.getSchema = function getSchema (urn) {\n  return this.schemas[urn];\n};\n\n/**\n * Validates instance against the provided schema\n * @param instance\n * @param schema\n * @param [options]\n * @param [ctx]\n * @return {Array}\n */\nValidator.prototype.validate = function validate (instance, schema, options, ctx) {\n  if((typeof schema !== 'boolean' && typeof schema !== 'object') || schema === null){\n    throw new SchemaError('Expected `schema` to be an object or boolean');\n  }\n  if (!options) {\n    options = {};\n  }\n  // This section indexes subschemas in the provided schema, so they don't need to be added with Validator#addSchema\n  // This will work so long as the function at uri.resolve() will resolve a relative URI to a relative URI\n  var id = schema.$id || schema.id;\n  var base = urilib.resolve(options.base||anonymousBase, id||'');\n  if(!ctx){\n    ctx = new SchemaContext(schema, options, [], base, Object.create(this.schemas));\n    if (!ctx.schemas[base]) {\n      ctx.schemas[base] = schema;\n    }\n    var found = scanSchema(base, schema);\n    for(var n in found.id){\n      var sch = found.id[n];\n      ctx.schemas[n] = sch;\n    }\n  }\n  if(options.required && instance===undefined){\n    var result = new ValidatorResult(instance, schema, options, ctx);\n    result.addError('is required, but is undefined');\n    return result;\n  }\n  var result = this.validateSchema(instance, schema, options, ctx);\n  if (!result) {\n    throw new Error('Result undefined');\n  }else if(options.throwAll && result.errors.length){\n    throw new ValidatorResultError(result);\n  }\n  return result;\n};\n\n/**\n* @param Object schema\n* @return mixed schema uri or false\n*/\nfunction shouldResolve(schema) {\n  var ref = (typeof schema === 'string') ? schema : schema.$ref;\n  if (typeof ref=='string') return ref;\n  return false;\n}\n\n/**\n * Validates an instance against the schema (the actual work horse)\n * @param instance\n * @param schema\n * @param options\n * @param ctx\n * @private\n * @return {ValidatorResult}\n */\nValidator.prototype.validateSchema = function validateSchema (instance, schema, options, ctx) {\n  var result = new ValidatorResult(instance, schema, options, ctx);\n\n  // Support for the true/false schemas\n  if(typeof schema==='boolean') {\n    if(schema===true){\n      // `true` is always valid\n      schema = {};\n    }else if(schema===false){\n      // `false` is always invalid\n      schema = {type: []};\n    }\n  }else if(!schema){\n    // This might be a string\n    throw new Error(\"schema is undefined\");\n  }\n\n  if (schema['extends']) {\n    if (Array.isArray(schema['extends'])) {\n      var schemaobj = {schema: schema, ctx: ctx};\n      schema['extends'].forEach(this.schemaTraverser.bind(this, schemaobj));\n      schema = schemaobj.schema;\n      schemaobj.schema = null;\n      schemaobj.ctx = null;\n      schemaobj = null;\n    } else {\n      schema = helpers.deepMerge(schema, this.superResolve(schema['extends'], ctx));\n    }\n  }\n\n  // If passed a string argument, load that schema URI\n  var switchSchema = shouldResolve(schema);\n  if (switchSchema) {\n    var resolved = this.resolve(schema, switchSchema, ctx);\n    var subctx = new SchemaContext(resolved.subschema, options, ctx.path, resolved.switchSchema, ctx.schemas);\n    return this.validateSchema(instance, resolved.subschema, options, subctx);\n  }\n\n  var skipAttributes = options && options.skipAttributes || [];\n  // Validate each schema attribute against the instance\n  for (var key in schema) {\n    if (!attribute.ignoreProperties[key] && skipAttributes.indexOf(key) < 0) {\n      var validatorErr = null;\n      var validator = this.attributes[key];\n      if (validator) {\n        validatorErr = validator.call(this, instance, schema, options, ctx);\n      } else if (options.allowUnknownAttributes === false) {\n        // This represents an error with the schema itself, not an invalid instance\n        throw new SchemaError(\"Unsupported attribute: \" + key, schema);\n      }\n      if (validatorErr) {\n        result.importErrors(validatorErr);\n      }\n    }\n  }\n\n  if (typeof options.rewrite == 'function') {\n    var value = options.rewrite.call(this, instance, schema, options, ctx);\n    result.instance = value;\n  }\n  return result;\n};\n\n/**\n* @private\n* @param Object schema\n* @param SchemaContext ctx\n* @returns Object schema or resolved schema\n*/\nValidator.prototype.schemaTraverser = function schemaTraverser (schemaobj, s) {\n  schemaobj.schema = helpers.deepMerge(schemaobj.schema, this.superResolve(s, schemaobj.ctx));\n};\n\n/**\n* @private\n* @param Object schema\n* @param SchemaContext ctx\n* @returns Object schema or resolved schema\n*/\nValidator.prototype.superResolve = function superResolve (schema, ctx) {\n  var ref = shouldResolve(schema);\n  if(ref) {\n    return this.resolve(schema, ref, ctx).subschema;\n  }\n  return schema;\n};\n\n/**\n* @private\n* @param Object schema\n* @param Object switchSchema\n* @param SchemaContext ctx\n* @return Object resolved schemas {subschema:String, switchSchema: String}\n* @throws SchemaError\n*/\nValidator.prototype.resolve = function resolve (schema, switchSchema, ctx) {\n  switchSchema = ctx.resolve(switchSchema);\n  // First see if the schema exists under the provided URI\n  if (ctx.schemas[switchSchema]) {\n    return {subschema: ctx.schemas[switchSchema], switchSchema: switchSchema};\n  }\n  // Else try walking the property pointer\n  var parsed = urilib.parse(switchSchema);\n  var fragment = parsed && parsed.hash;\n  var document = fragment && fragment.length && switchSchema.substr(0, switchSchema.length - fragment.length);\n  if (!document || !ctx.schemas[document]) {\n    throw new SchemaError(\"no such schema <\" + switchSchema + \">\", schema);\n  }\n  var subschema = helpers.objectGetPath(ctx.schemas[document], fragment.substr(1));\n  if(subschema===undefined){\n    throw new SchemaError(\"no such schema \" + fragment + \" located in <\" + document + \">\", schema);\n  }\n  return {subschema: subschema, switchSchema: switchSchema};\n};\n\n/**\n * Tests whether the instance if of a certain type.\n * @private\n * @param instance\n * @param schema\n * @param options\n * @param ctx\n * @param type\n * @return {boolean}\n */\nValidator.prototype.testType = function validateType (instance, schema, options, ctx, type) {\n  if(type===undefined){\n    return;\n  }else if(type===null){\n    throw new SchemaError('Unexpected null in \"type\" keyword');\n  }\n  if (typeof this.types[type] == 'function') {\n    return this.types[type].call(this, instance);\n  }\n  if (type && typeof type == 'object') {\n    var res = this.validateSchema(instance, type, options, ctx);\n    return res === undefined || !(res && res.errors.length);\n  }\n  // Undefined or properties not on the list are acceptable, same as not being defined\n  return true;\n};\n\nvar types = Validator.prototype.types = {};\ntypes.string = function testString (instance) {\n  return typeof instance == 'string';\n};\ntypes.number = function testNumber (instance) {\n  // isFinite returns false for NaN, Infinity, and -Infinity\n  return typeof instance == 'number' && isFinite(instance);\n};\ntypes.integer = function testInteger (instance) {\n  return (typeof instance == 'number') && instance % 1 === 0;\n};\ntypes.boolean = function testBoolean (instance) {\n  return typeof instance == 'boolean';\n};\ntypes.array = function testArray (instance) {\n  return Array.isArray(instance);\n};\ntypes['null'] = function testNull (instance) {\n  return instance === null;\n};\ntypes.date = function testDate (instance) {\n  return instance instanceof Date;\n};\ntypes.any = function testAny (instance) {\n  return true;\n};\ntypes.object = function testObject (instance) {\n  // TODO: fix this - see #15\n  return instance && (typeof instance === 'object') && !(Array.isArray(instance)) && !(instance instanceof Date);\n};\n\nmodule.exports = Validator;\n","'use strict';\n\nvar Validator = module.exports.Validator = require('./validator');\n\nmodule.exports.ValidatorResult = require('./helpers').ValidatorResult;\nmodule.exports.ValidatorResultError = require('./helpers').ValidatorResultError;\nmodule.exports.ValidationError = require('./helpers').ValidationError;\nmodule.exports.SchemaError = require('./helpers').SchemaError;\nmodule.exports.SchemaScanResult = require('./scan').SchemaScanResult;\nmodule.exports.scan = require('./scan').scan;\n\nmodule.exports.validate = function (instance, schema, options) {\n  var v = new Validator();\n  return v.validate(instance, schema, options);\n};\n","import fetch, { Response, RequestInit, FetchError } from \"node-fetch\";\nimport * as jsonschema from \"jsonschema\";\nimport { OpenAPIV3 } from \"openapi-types\";\nimport { IHashMapGeneric } from \"./types\";\n\nexport default class Client {\n  base_url: string;\n  headers: IHashMapGeneric<string>;\n\n  constructor({\n    schema,\n    base_url = \"\",\n    headers = {},\n  }: {\n    base_url?: string;\n    schema?: OpenAPIV3.Document;\n    headers?: IHashMapGeneric<string>;\n  } = {}) {\n    // Set default BaseURL\n    if (!base_url && schema?.servers) {\n      base_url = schema.servers[0].url;\n    }\n\n    this.base_url = base_url;\n    this.headers = headers;\n  }\n\n  async makeRequest(\n    httpMethod: string,\n    path: string,\n    headers: IHashMapGeneric<string>,\n    params: IHashMapGeneric<string>\n  ): Promise<any> {\n    const pathFormated = this.replacePathVariables(path, params);\n    // const url = new URL(pathFormated, this.base_url);\n    const url = `${this.base_url}${pathFormated}`;\n\n    const requestHeaders = {\n      ...headers,\n      \"Content-Type\": \"application/json\",\n    };\n\n    const requestOptions: RequestInit = {\n      method: httpMethod.toUpperCase(),\n      headers: requestHeaders,\n    };\n\n    if ([\"POST\", \"PUT\"].includes(httpMethod.toUpperCase())) {\n      requestOptions.body = JSON.stringify(params);\n    }\n\n    try {\n      const response: Response = await fetch(url.toString(), requestOptions);\n      let parsedData;\n\n      try {\n        parsedData = await response.json();\n      } catch {\n        parsedData = {\n          statusCode: response.status,\n          message: response.statusText,\n        };\n      }\n\n      return parsedData;\n    } catch (error: any) {\n      if (error instanceof FetchError) {\n        return { statusCode: error.code, message: error.message };\n      }\n\n      throw error;\n    }\n  }\n\n  validateParameters(\n    httpMethod: string,\n    path: string,\n    headers: IHashMapGeneric<string>,\n    params: IHashMapGeneric<string>,\n    operationDetails: OpenAPIV3.OperationObject\n  ) {\n    // Validate required headers\n    const requiredHeaders = (operationDetails.parameters?.filter(\n      (param: OpenAPIV3.ParameterObject) =>\n        param.in === \"header\" && param.required\n    ) || []) as OpenAPIV3.ParameterObject[];\n\n    this.validateRequiredParameters(headers, requiredHeaders);\n\n    // Validate required path parameters\n    const pathParams = (path.match(/{(\\w+)}/g) || []).map((match) =>\n      match.slice(1, -1)\n    );\n\n    const requiredPathParams = (operationDetails.parameters?.filter(\n      (param: OpenAPIV3.ParameterObject) =>\n        param.in === \"path\" && pathParams.includes(param.name) && param.required\n    ) || []) as OpenAPIV3.ParameterObject[];\n\n    this.validateRequiredParameters(params, requiredPathParams);\n\n    // Validate required query parameters\n    const requiredQueryParams = (operationDetails.parameters?.filter(\n      (param: OpenAPIV3.ParameterObject) =>\n        param.in === \"query\" && param.required\n    ) || []) as OpenAPIV3.ParameterObject[];\n\n    this.validateRequiredParameters(params, requiredQueryParams);\n  }\n\n  private validateRequiredParameters(\n    data: IHashMapGeneric<string>,\n    schema: OpenAPIV3.ParameterObject[]\n  ) {\n    schema.forEach((paramSchema) => {\n      const paramName = paramSchema.name;\n      // Check if the parameter is present in the data\n      if (!(paramName in data)) {\n        throw new Error(`Missing required parameter: ${paramName}`);\n      }\n\n      // Validate the parameter against the schema\n      if (!jsonschema.validate(data[paramName], paramSchema.schema).valid) {\n        throw new Error(`Invalid value for parameter: ${paramName}`);\n      }\n    });\n  }\n\n  private replacePathVariables(\n    path: string,\n    params: IHashMapGeneric<string>\n  ): string {\n    // \"/path/{param1}/name/{param2}\"\n\n    return path.replace(/{([^{}]+)}/g, (_, variable) => params[variable]);\n  }\n}\n","\n  import { OpenAPIV3 } from \"openapi-types\";\n  import { IHashMapGeneric } from \"../src/types\";\n  import Client from \"../src/client\";\n\n  /**\n   * Mtn Open Api\n   * Visit https://momodeveloper.mtn.com/ for documentation\n   */\n  namespace MtnOpenApi {\n    \n      const SandboxProvisioningScheam: OpenAPIV3.Document = {\"openapi\":\"3.0.1\",\"info\":{\"title\":\"Sandbox User Provisioning\",\"description\":\"Sandbox User Provisioning \",\"version\":\"1.0\"},\"servers\":[{\"url\":\"https://sandbox.momodeveloper.mtn.com\"}],\"paths\":{\"/v1_0/apiuser\":{\"post\":{\"summary\":\"/apiuser - POST\",\"description\":\"Used to create an API user in the sandbox target environment.\",\"operationId\":\"post-v1_0-apiuser\",\"parameters\":[{\"name\":\"X-Reference-Id\",\"in\":\"header\",\"description\":\"Format - UUID. Recource ID for the API user to be created. UUID version 4 is required.\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"requestBody\":{\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ApiUser\"},\"example\":{\"providerCallbackHost\":\"string\"}}}},\"responses\":{\"201\":{\"description\":\"Created\",\"content\":{\"application/json\":{}}},\"400\":{\"description\":\"Bad request, e.g. invalid data was sent in the request.\",\"content\":{\"application/json\":{}}},\"409\":{\"description\":\"Conflict, duplicated reference id\",\"content\":{\"ReferenceId already in use\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"RESOURCE_ALREADY_EXIST\",\"message\":\"Duplicated reference id. Creation of resource failed.\"}},\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"RESOURCE_NOT_FOUND\",\"message\":\"string\"}}}},\"500\":{\"description\":\"Internal error. Check log for information.\",\"content\":{\"application/json\":{}}}}}},\"/v1_0/apiuser/{X-Reference-Id}/apikey\":{\"post\":{\"summary\":\"/v1_0/apiuser/{X-Reference-Id}/apikey - POST\",\"description\":\"Used to create an API key for an API user in the sandbox target environment.\",\"operationId\":\"post-v1_0-apiuser-apikey\",\"parameters\":[{\"name\":\"X-Reference-Id\",\"in\":\"path\",\"description\":\"Format - UUID. Recource ID for the API user to be created. UUID version 4 is required.\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"responses\":{\"201\":{\"description\":\"Created\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ApiUserKeyResult\"},\"example\":{\"apiKey\":\"string\"}}}},\"400\":{\"description\":\"Bad request, e.g. invalid data was sent in the request.\",\"content\":{\"application/json\":{}}},\"404\":{\"description\":\"Not found, reference id not found or closed in sandbox\",\"content\":{\"Requested resource was not found\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"RESOURCE_NOT_FOUND\",\"message\":\"Requested resource was not found.\"}},\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"RESOURCE_NOT_FOUND\",\"message\":\"string\"}}}},\"500\":{\"description\":\"Internal error. Check log for information.\",\"content\":{\"application/json\":{}}}}}},\"/v1_0/apiuser/{X-Reference-Id}\":{\"get\":{\"summary\":\"/v1_0/apiuser/{X-Reference-Id} - GET\",\"description\":\"Used to get API user information.\",\"operationId\":\"get-v1_0-apiuser\",\"parameters\":[{\"name\":\"X-Reference-Id\",\"in\":\"path\",\"description\":\"Format - UUID. Recource ID for the API user to be created. UUID version 4 is required.\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"Ok\"},\"400\":{\"description\":\"Bad request, e.g. invalid data was sent in the request.\"},\"404\":{\"description\":\"Not found, reference id not found or closed in sandbox\",\"content\":{\"Requested resource was not found\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"RESOURCE_NOT_FOUND\",\"message\":\"Requested resource was not found.\"}}}},\"500\":{\"description\":\"Internal error. Check log for information.\"}}}}},\"components\":{\"schemas\":{\"ApiUser\":{\"type\":\"object\",\"properties\":{\"providerCallbackHost\":{\"type\":\"string\",\"description\":\"The provider callback host\"}},\"description\":\"The create API user information\"},\"ApiUserResult\":{\"type\":\"object\",\"properties\":{\"providerCallbackHost\":{\"type\":\"string\",\"description\":\"The provider callback host\"},\"paymentServerUrl\":{\"$ref\":\"#/components/schemas/PaymentServerUrl\"},\"targetEnvironment\":{\"$ref\":\"#/components/schemas/TargetEnvironment\"}},\"description\":\"The API user information\"},\"ApiUserKeyResult\":{\"type\":\"object\",\"properties\":{\"apiKey\":{\"type\":\"string\",\"description\":\"The created API user key\"}}},\"PaymentServerUrl\":{\"type\":\"object\",\"properties\":{\"apiKey\":{\"type\":\"string\",\"description\":\"The payment server URL\"}}},\"TargetEnvironment\":{\"type\":\"object\",\"properties\":{\"apiKey\":{\"type\":\"string\",\"description\":\"The target environment\"}}},\"ErrorReason\":{\"type\":\"object\",\"properties\":{\"code\":{\"enum\":[\"RESOURCE_NOT_FOUND\",\"RESOURCE_ALREADY_EXIST\"],\"type\":\"string\"},\"message\":{\"type\":\"string\"}}}},\"securitySchemes\":{\"apiKeyHeader\":{\"type\":\"apiKey\",\"name\":\"Ocp-Apim-Subscription-Key\",\"in\":\"header\"},\"apiKeyQuery\":{\"type\":\"apiKey\",\"name\":\"subscription-key\",\"in\":\"query\"}}},\"security\":[{\"apiKeyHeader\":[]},{\"apiKeyQuery\":[]}]}\n      /**\n      * Sandbox User Provisioning \n      */\n      export class SandboxProvisioning extends Client {\n        constructor({\n          schema = SandboxProvisioningScheam,\n          base_url = \"https://sandbox.momodeveloper.mtn.com\",\n          headers = {},\n        }: {\n          base_url?: string;\n          schema?: OpenAPIV3.Document;\n          headers?: IHashMapGeneric<string>;\n        } = {}) {\n          super({ schema, base_url, headers });\n        }\n\n        \n        /**\n        * Used to create an API user in the sandbox target environment.\n        */\n        postV10Apiuser(params: IHashMapGeneric<string> = {}, headers: IHashMapGeneric<string> = {}){\n          headers = {...this.headers, ...headers}\n\n          const details = {\"parameters\":[{\"name\":\"X-Reference-Id\",\"in\":\"header\",\"description\":\"Format - UUID. Recource ID for the API user to be created. UUID version 4 is required.\",\"required\":true,\"schema\":{\"type\":\"string\"}}]} as OpenAPIV3.OperationObject\n\n          this.validateParameters(\"post\", \"/v1_0/apiuser\", headers, params, details)\n\n          return this.makeRequest(\"post\", \"/v1_0/apiuser\", headers, params)\n        }\n\n\n        /**\n        * Used to create an API key for an API user in the sandbox target environment.\n        */\n        postV10ApiuserApikey(params: IHashMapGeneric<string> = {}, headers: IHashMapGeneric<string> = {}){\n          headers = {...this.headers, ...headers}\n\n          const details = {\"parameters\":[{\"name\":\"X-Reference-Id\",\"in\":\"path\",\"description\":\"Format - UUID. Recource ID for the API user to be created. UUID version 4 is required.\",\"required\":true,\"schema\":{\"type\":\"string\"}}]} as OpenAPIV3.OperationObject\n\n          this.validateParameters(\"post\", \"/v1_0/apiuser/{X-Reference-Id}/apikey\", headers, params, details)\n\n          return this.makeRequest(\"post\", \"/v1_0/apiuser/{X-Reference-Id}/apikey\", headers, params)\n        }\n\n\n        /**\n        * Used to get API user information.\n        */\n        getV10Apiuser(params: IHashMapGeneric<string> = {}, headers: IHashMapGeneric<string> = {}){\n          headers = {...this.headers, ...headers}\n\n          const details = {\"parameters\":[{\"name\":\"X-Reference-Id\",\"in\":\"path\",\"description\":\"Format - UUID. Recource ID for the API user to be created. UUID version 4 is required.\",\"required\":true,\"schema\":{\"type\":\"string\"}}]} as OpenAPIV3.OperationObject\n\n          this.validateParameters(\"get\", \"/v1_0/apiuser/{X-Reference-Id}\", headers, params, details)\n\n          return this.makeRequest(\"get\", \"/v1_0/apiuser/{X-Reference-Id}\", headers, params)\n        }\n\n\n      }\n      \n\n      const CollectionScheam: OpenAPIV3.Document = {\"openapi\":\"3.0.1\",\"info\":{\"title\":\"Collection\",\"description\":\"Enable remote collection of bills, fees or taxes\",\"version\":\"1.0\"},\"servers\":[{\"url\":\"https://sandbox.momodeveloper.mtn.com/collection\"}],\"paths\":{\"/v1_0/account/balance\":{\"get\":{\"summary\":\"GetAccountBalance\",\"description\":\"Get the balance of own account.\",\"operationId\":\"GetAccountBalance\",\"parameters\":[{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Authentication Token generated using CreateAccessToken API Call\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"Ok\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/Balance\"},\"example\":{\"availableBalance\":\"string\",\"currency\":\"string\"}},\"Incorrect target environment\":{\"schema\":{\"$ref\":\"#/components/schemas/Balance\"},\"examples\":{\"default\":{\"value\":null}}}}},\"400\":{\"description\":\"Bad request, e.g. invalid data was sent in the request.\",\"content\":{\"application/json\":{},\"Incorrect target environment\":{}}},\"500\":{\"description\":\"Internal error. The returned response contains details.\",\"content\":{\"Incorrect target environment\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"NOT_ALLOWED_TARGET_ENVIRONMENT\",\"message\":\"Access to target environment is forbidden.\"}},\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"PAYEE_NOT_FOUND\",\"message\":\"string\"}}}}}}},\"/v1_0/accountholder/{accountHolderIdType}/{accountHolderId}/active\":{\"get\":{\"summary\":\"ValidateAccountHolderStatus\",\"description\":\"Operation is used  to check if an account holder is registered and active in the system.\",\"operationId\":\"ValidateAccountHolderStatus\",\"parameters\":[{\"name\":\"accountHolderId\",\"in\":\"path\",\"description\":\"The AccountHolder number. Validated according to the AccountHolder ID type (case Sensitive). <br> msisdn - Mobile Number validated according to ITU-T E.164. Validated with IsMSISDN<br> email - Validated to be a valid e-mail format. Validated with IsEmail\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"accountHolderIdType\",\"in\":\"path\",\"description\":\"Specifies the type of the AccountHolder ID. Allowed values [msisdn, email].  <br> accountHolderId should explicitly be in small letters.\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Authentication Token generated using CreateAccessToken API Call\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"Ok. True if account holder is registered and active, false if the account holder is not active or not found\",\"content\":{\"Incorrect target environment\":{}}},\"400\":{\"description\":\"Bad request, e.g. invalid data was sent in the request.\",\"content\":{\"Incorrect target environment\":{}}},\"500\":{\"description\":\"Internal error. The returned response contains details.\",\"content\":{\"Incorrect target environment\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"NOT_ALLOWED_TARGET_ENVIRONMENT\",\"message\":\"Access to target environment is forbidden.\"}}}}}}},\"/v1_0/requesttopay\":{\"post\":{\"summary\":\"RequesttoPay\",\"description\":\"This operation is used to request a payment from a consumer (Payer). The payer will be asked to authorize the payment. The transaction will be executed once the payer has authorized the payment. The requesttopay will be in status PENDING until the transaction is authorized or declined by the payer or it is timed out by the system. \\n Status of the transaction can be validated by using the GET /requesttopay/\\\\<resourceId\\\\>\",\"operationId\":\"RequesttoPay\",\"parameters\":[{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Authentication Token generated using CreateAccessToken API Call\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Callback-Url\",\"in\":\"header\",\"description\":\"URL to the server where the callback should be sent.\",\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Reference-Id\",\"in\":\"header\",\"description\":\"Format - UUID. Recource ID of the created request to pay transaction. This ID is used, for example, validating the status of the request. ‘Universal Unique ID’ for the transaction generated using UUID version 4.\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"requestBody\":{\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/RequestToPay\"},\"example\":{\"amount\":\"string\",\"currency\":\"string\",\"externalId\":\"string\",\"payer\":{\"partyIdType\":\"MSISDN\",\"partyId\":\"string\"},\"payerMessage\":\"string\",\"payeeNote\":\"string\"}}}},\"responses\":{\"202\":{\"description\":\"Accepted\",\"content\":{\"application/json\":{},\"ReferenceId already in use\":{},\"Unspecified internal error\":{}}},\"400\":{\"description\":\"Bad request, e.g. invalid data was sent in the request.\",\"content\":{\"application/json\":{},\"ReferenceId already in use\":{},\"Unspecified internal error\":{}}},\"409\":{\"description\":\"Conflict, duplicated reference id\",\"content\":{\"ReferenceId already in use\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"RESOURCE_ALREADY_EXIST\",\"message\":\"Duplicated reference id. Creation of resource failed.\"}},\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"PAYEE_NOT_FOUND\",\"message\":\"string\"}},\"Unspecified internal error\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}}}},\"500\":{\"description\":\"Internal Error.\",\"content\":{\"Unspecified internal error\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"INTERNAL_PROCESSING_ERROR\",\"message\":\"An internal error occurred while processing.\"}},\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"PAYEE_NOT_FOUND\",\"message\":\"string\"}},\"ReferenceId already in use\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}}}}}}},\"/v1_0/requesttopay/{referenceId}\":{\"get\":{\"summary\":\"RequesttoPayTransactionStatus\",\"description\":\"This operation is used to get the status of a request to pay. X-Reference-Id that was passed in the post is used as reference to the request.\",\"operationId\":\"RequesttoPayTransactionStatus\",\"parameters\":[{\"name\":\"referenceId\",\"in\":\"path\",\"description\":\"UUID of transaction to get result. Reference id  used when creating the request to pay.\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Authentication Token generated using CreateAccessToken API Call\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"OK. Note that a  failed request to pay will be returned with this status too. The 'status' of the RequestToPayResult can be used to determine the outcome of the request. The 'reason' field can be used to retrieve a cause in case of failure.\",\"content\":{\"Successful request to pay\":{\"schema\":{\"$ref\":\"#/components/schemas/RequestToPayResult\"},\"example\":{\"amount\":100,\"currency\":\"UGX\",\"financialTransactionId\":23503452,\"externalId\":947354,\"payer\":{\"partyIdType\":\"MSISDN\",\"partyId\":4656473839},\"status\":\"SUCCESSFUL\"}},\"Payer not found\":{\"schema\":{\"$ref\":\"#/components/schemas/RequestToPayResult\"},\"example\":{\"amount\":100,\"currency\":\"UGX\",\"externalId\":947354,\"payer\":{\"partyIdType\":\"MSISDN\",\"partyId\":4656473839},\"status\":\"FAILED\",\"reason\":{\"code\":\"PAYER_NOT_FOUND\",\"message\":\"Payee does not exist\"}}},\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/RequestToPayResult\"},\"example\":{\"amount\":\"string\",\"currency\":\"string\",\"financialTransactionId\":\"string\",\"externalId\":\"string\",\"payer\":{\"partyIdType\":\"MSISDN\",\"partyId\":\"string\"},\"payerMessage\":\"string\",\"payeeNote\":\"string\",\"status\":\"PENDING\",\"reason\":{\"code\":\"PAYEE_NOT_FOUND\",\"message\":\"string\"}}},\"Request to pay not found\":{\"schema\":{\"$ref\":\"#/components/schemas/RequestToPayResult\"},\"examples\":{\"default\":{\"value\":null}}},\"Unspecified internal error\":{\"schema\":{\"$ref\":\"#/components/schemas/RequestToPayResult\"},\"examples\":{\"default\":{\"value\":null}}}}},\"400\":{\"description\":\"Bad request, e.g. an incorrectly formatted reference id was provided.\",\"content\":{\"Successful request to pay\":{},\"Payer not found\":{},\"application/json\":{},\"Request to pay not found\":{},\"Unspecified internal error\":{}}},\"404\":{\"description\":\"Resource not found.\",\"content\":{\"Request to pay not found\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"RESOURCE_NOT_FOUND\",\"message\":\"Requested resource was not found.\"}},\"Successful request to pay\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}},\"Payer not found\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}},\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"PAYEE_NOT_FOUND\",\"message\":\"string\"}},\"Unspecified internal error\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}}}},\"500\":{\"description\":\"Internal Error. Note that if the retrieved request to pay has failed, it will not cause this status to be returned. This status is only returned if the GET request itself fails.\",\"content\":{\"Unspecified internal error\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"INTERNAL_PROCESSING_ERROR\",\"message\":\"An internal error occurred while processing.\"}},\"Successful request to pay\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}},\"Payer not found\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}},\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"PAYEE_NOT_FOUND\",\"message\":\"string\"}},\"Request to pay not found\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}}}}}}},\"/v1_0/bc-authorize\":{\"post\":{\"summary\":\"bc-authorize\",\"description\":\"This operation is used to claim a consent by the account holder for the requested scopes.\",\"operationId\":\"bc-authorize\",\"parameters\":[{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Token. Replace with a valid oauth2 token received from oauth2 token endpoint in Wallet Platform.\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Callback-Url\",\"in\":\"header\",\"description\":\"URL to the server where the callback should be sent.\",\"schema\":{\"type\":\"string\"}}],\"requestBody\":{\"content\":{\"application/x-www-form-urlencoded\":{\"example\":\"login_hint=ID:{msisdn}/MSISDN&scope={scope}&access_type={online/offline}\"}}},\"responses\":{\"200\":{\"description\":\"OK\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/bcauthorizeResponse\"},\"example\":{\"auth_req_id\":\"string\",\"interval\":0,\"expires_in\":0}}}}}}},\"/v1_0/accountholder/msisdn/{accountHolderMSISDN}/basicuserinfo\":{\"get\":{\"summary\":\"GetBasicUserinfo\",\"description\":\"This operation returns personal information of the account holder. The operation does not need any consent by the account holder.\",\"operationId\":\"GetBasicUserinfo\",\"parameters\":[{\"name\":\"accountHolderMSISDN\",\"in\":\"path\",\"description\":\"MSISDN of the account holder. Mobile number validated according to ITU-T E.164\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Authentication Token generated using CreateAccessToken API Call\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"OK\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/BasicUserInfoJsonResponse\"},\"example\":{\"given_name\":\"string\",\"family_name\":\"string\",\"birthdate\":\"string\",\"locale\":\"string\",\"gender\":\"string\",\"status\":\"string\"}}}},\"401\":{\"description\":\"Unauthorized\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/TokenPost401ApplicationJsonResponse\"},\"example\":{\"error\":\"string\"}}}},\"500\":{\"description\":\"Error\",\"content\":{\"application/json\":{}}}}}},\"/v1_0/requesttopay/{referenceId}/deliverynotification\":{\"post\":{\"summary\":\"RequesttoPayDeliveryNotification\",\"description\":\"This operation is used to send additional Notification to an End User.\",\"operationId\":\"RequesttoPayDeliveryNotification\",\"parameters\":[{\"name\":\"referenceId\",\"in\":\"path\",\"description\":\"UUID of transaction to get result. Reference id used when creating the RequesttoPay.\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"notificationMessage\",\"in\":\"header\",\"description\":\"The message to send in the delivery notification. Max              length 160.\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"Language\",\"in\":\"header\",\"description\":\"An ISO 639-1 or ISO 639-3 language code. The language is used to select the best matching notification template when sending the delivery notification to the end-user. A default value is used if not specified.\",\"schema\":{\"type\":\"string\"}},{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Authentication Token generated using CreateAccessToken API Call\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"requestBody\":{\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/deliverynotification\"},\"example\":{\"notificationMessage\":\"string\"}}}},\"responses\":{\"200\":{\"description\":\"OK. Notification successfully enqueued.\",\"content\":{\"application/json\":{}}},\"400\":{\"description\":\"Bad request. Invalid data was sent in the request.\",\"content\":{\"application/json\":{}}},\"404\":{\"description\":\"Resource not found. The reference ID does not exist, or the calling user is not the owner of the financial transaction.\",\"content\":{\"application/json\":{}}},\"409\":{\"description\":\"Conflict. The transaction is not successfully completed.\",\"content\":{\"application/json\":{}}},\"410\":{\"description\":\"Gone. The delivery notification opportunity has expired.\",\"content\":{\"application/json\":{}}},\"429\":{\"description\":\"Too many requests. Too many attempts for the same ID has been made recently. This will only occur if a successful attempt has previously been performed.\",\"content\":{\"application/json\":{}}},\"500\":{\"description\":\"Internal server error. An unexpected error occurred.\",\"content\":{\"application/json\":{}}}}}},\"/v1_0/account/balance/{currency}\":{\"get\":{\"summary\":\"GetAccountBalanceInSpecificCurrency\",\"description\":\"Get the balance of own account. Currency parameter passed in GET\",\"operationId\":\"GetAccountBalanceInSpecificCurrency\",\"parameters\":[{\"name\":\"currency\",\"in\":\"path\",\"description\":\"Should be in ISO4217 Currency\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Authentication Token generated using CreateAccessToken API Call\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"Ok\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/Balance\"},\"example\":{\"availableBalance\":\"string\",\"currency\":\"string\"}},\"Incorrect target environment\":{\"schema\":{\"$ref\":\"#/components/schemas/Balance\"},\"examples\":{\"default\":{\"value\":null}}}}},\"400\":{\"description\":\"Bad request, e.g. invalid data was sent in the request.\",\"content\":{\"application/json\":{},\"Incorrect target environment\":{}}},\"500\":{\"description\":\"Internal error. The returned response contains details.\",\"content\":{\"Incorrect target environment\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"NOT_ALLOWED_TARGET_ENVIRONMENT\",\"message\":\"Access to target environment is forbidden.\"}},\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"PAYEE_NOT_FOUND\",\"message\":\"string\"}}}}}}},\"/v1_0/requesttowithdraw\":{\"post\":{\"summary\":\"RequestToWithdraw-V1\",\"description\":\"This operation is used to request a withdrawal (cash-out) from a consumer (Payer). The payer will be asked to authorize the withdrawal. The transaction will be executed once the payer has authorized the withdrawal\",\"operationId\":\"RequestToWithdraw-V1\",\"parameters\":[{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Authentication Token generated using CreateAccessToken API Call\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Callback-Url\",\"in\":\"header\",\"description\":\"POST Callback URL to the server where the callback should be sent.\",\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Reference-Id\",\"in\":\"header\",\"description\":\"Format - UUID. Recource ID of the created request to pay transaction. This ID is used, for example, validating the status of the request. ‘Universal Unique ID’ for the transaction generated using UUID version 4.\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"requestBody\":{\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/RequestToPay\"},\"example\":{\"payeeNote\":\"string\",\"externalId\":\"string\",\"amount\":\"string\",\"currency\":\"string\",\"payer\":{\"partyIdType\":\"MSISDN\",\"partyId\":\"string\"},\"payerMessage\":\"string\"}}}},\"responses\":{\"202\":{\"description\":\"Accepted\",\"content\":{\"application/json\":{},\"ReferenceId already in use\":{},\"Unspecified internal error\":{}}},\"400\":{\"description\":\"Bad request, e.g. invalid data was sent in the request.\",\"content\":{\"application/json\":{},\"ReferenceId already in use\":{},\"Unspecified internal error\":{}}},\"409\":{\"description\":\"Conflict, duplicated reference id\",\"content\":{\"ReferenceId already in use\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"RESOURCE_ALREADY_EXIST\",\"message\":\"Duplicated reference id. Creation of resource failed.\"}},\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"PAYEE_NOT_FOUND\",\"message\":\"string\"}},\"Unspecified internal error\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}}}},\"500\":{\"description\":\"Internal Error.\",\"content\":{\"Unspecified internal error\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"INTERNAL_PROCESSING_ERROR\",\"message\":\"An internal error occurred while processing.\"}},\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"PAYEE_NOT_FOUND\",\"message\":\"string\"}},\"ReferenceId already in use\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}}}}}}},\"/v2_0/requesttowithdraw\":{\"post\":{\"summary\":\"RequestToWithdraw-V2\",\"description\":\"This operation is used to request a withdrawal (cash-out) from a consumer (Payer). The payer will be asked to authorize the withdrawal. The transaction will be executed once the payer has authorized the withdrawal\",\"operationId\":\"RequestToWithdraw-V2\",\"parameters\":[{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Authentication Token generated using CreateAccessToken API Call\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Callback-Url\",\"in\":\"header\",\"description\":\"PUT Callback URL to the server where the callback should be sent.\",\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Reference-Id\",\"in\":\"header\",\"description\":\"Format - UUID. Recource ID of the created request to pay transaction. This ID is used, for example, validating the status of the request. ‘Universal Unique ID’ for the transaction generated using UUID version 4.\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"requestBody\":{\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/RequestToPay\"},\"example\":{\"payeeNote\":\"string\",\"externalId\":\"string\",\"amount\":\"string\",\"currency\":\"string\",\"payer\":{\"partyIdType\":\"MSISDN\",\"partyId\":\"string\"},\"payerMessage\":\"string\"}}}},\"responses\":{\"202\":{\"description\":\"Accepted\",\"content\":{\"application/json\":{},\"ReferenceId already in use\":{},\"Unspecified internal error\":{}}},\"400\":{\"description\":\"Bad request, e.g. invalid data was sent in the request.\",\"content\":{\"application/json\":{},\"ReferenceId already in use\":{},\"Unspecified internal error\":{}}},\"409\":{\"description\":\"Conflict, duplicated reference id\",\"content\":{\"ReferenceId already in use\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"RESOURCE_ALREADY_EXIST\",\"message\":\"Duplicated reference id. Creation of resource failed.\"}},\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"PAYEE_NOT_FOUND\",\"message\":\"string\"}},\"Unspecified internal error\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}}}},\"500\":{\"description\":\"Internal Error.\",\"content\":{\"Unspecified internal error\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"INTERNAL_PROCESSING_ERROR\",\"message\":\"An internal error occurred while processing.\"}},\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"PAYEE_NOT_FOUND\",\"message\":\"string\"}},\"ReferenceId already in use\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}}}}}}},\"/v1_0/requesttowithdraw/{referenceId}\":{\"get\":{\"summary\":\"RequestToWithdrawTransactionStatus\",\"description\":\"This operation is used to get the status of a request to withdraw. X-Reference-Id that was passed in the post is used as reference to the request.\",\"operationId\":\"RequestToWithdrawTransactionStatus\",\"parameters\":[{\"name\":\"referenceId\",\"in\":\"path\",\"description\":\"UUID of transaction to get result. Reference id  used when creating the RequestToWithdraw.\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Authentication Token generated using CreateAccessToken API Call\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"OK. Note that a  failed request to pay will be returned with this status too. The 'status' of the RequestToPayResult can be used to determine the outcome of the request. The 'reason' field can be used to retrieve a cause in case of failure.\",\"content\":{\"Successful request to pay\":{\"schema\":{\"$ref\":\"#/components/schemas/RequestToPayResult\"},\"example\":{\"amount\":100,\"currency\":\"UGX\",\"financialTransactionId\":23503452,\"externalId\":947354,\"payer\":{\"partyIdType\":\"MSISDN\",\"partyId\":4656473839},\"status\":\"SUCCESSFUL\"}},\"Payer not found\":{\"schema\":{\"$ref\":\"#/components/schemas/RequestToPayResult\"},\"example\":{\"amount\":100,\"currency\":\"UGX\",\"externalId\":947354,\"payer\":{\"partyIdType\":\"MSISDN\",\"partyId\":4656473839},\"status\":\"FAILED\",\"reason\":{\"code\":\"PAYER_NOT_FOUND\",\"message\":\"Payee does not exist\"}}},\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/RequestToPayResult\"},\"example\":{\"amount\":\"string\",\"currency\":\"string\",\"financialTransactionId\":\"string\",\"externalId\":\"string\",\"payer\":{\"partyIdType\":\"MSISDN\",\"partyId\":\"string\"},\"payerMessage\":\"string\",\"payeeNote\":\"string\",\"status\":\"PENDING\",\"reason\":{\"code\":\"PAYEE_NOT_FOUND\",\"message\":\"string\"}}},\"Request to pay not found\":{\"schema\":{\"$ref\":\"#/components/schemas/RequestToPayResult\"},\"examples\":{\"default\":{\"value\":null}}},\"Unspecified internal error\":{\"schema\":{\"$ref\":\"#/components/schemas/RequestToPayResult\"},\"examples\":{\"default\":{\"value\":null}}}}},\"400\":{\"description\":\"Bad request, e.g. an incorrectly formatted reference id was provided.\",\"content\":{\"Successful request to pay\":{},\"Payer not found\":{},\"application/json\":{},\"Request to pay not found\":{},\"Unspecified internal error\":{}}},\"404\":{\"description\":\"Resource not found.\",\"content\":{\"Request to pay not found\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"RESOURCE_NOT_FOUND\",\"message\":\"Requested resource was not found.\"}},\"Successful request to pay\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}},\"Payer not found\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}},\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"PAYEE_NOT_FOUND\",\"message\":\"string\"}},\"Unspecified internal error\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}}}},\"500\":{\"description\":\"Internal Error. Note that if the retrieved request to pay has failed, it will not cause this status to be returned. This status is only returned if the GET request itself fails.\",\"content\":{\"Unspecified internal error\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"INTERNAL_PROCESSING_ERROR\",\"message\":\"An internal error occurred while processing.\"}},\"Successful request to pay\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}},\"Payer not found\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}},\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"PAYEE_NOT_FOUND\",\"message\":\"string\"}},\"Request to pay not found\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}}}}}}},\"/v2_0/invoice\":{\"post\":{\"summary\":\"CreateInvoice\",\"description\":\"A merchant may use this in order to create an invoice that can be paid by an intended payer via any channel at a later stage.\",\"operationId\":\"CreateInvoice\",\"parameters\":[{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Authentication Token generated using CreateAccessToken API Call\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Callback-Url\",\"in\":\"header\",\"description\":\"PUT Callback URL to send callback to once the invoice is completed.\",\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Reference-Id\",\"in\":\"header\",\"description\":\"Format - UUID. An id to uniquely identify the making of an invoice\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The desired target environment to use that is allowed for the API user.\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"requestBody\":{\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/CreateInvoice\"},\"example\":{\"externalId\":\"string (An external transaction id to tie to the payment.)\",\"amount\":\"string\",\"currency\":\"string\",\"validityDuration\":\"string(The duration that the invoice is valid in seconds.)\",\"intendedPayer\":{\"partyIdType\":\"MSISDN\",\"partyId\":\"string\"},\"payee\":{\"partyIdType\":\"MSISDN\",\"partyId\":\"string\"},\"description\":\"string (An optional description of the invoice.)\"}}}},\"responses\":{\"202\":{\"description\":\"Accepted\",\"content\":{\"application/json\":{},\"ReferenceId already in use\":{},\"Unspecified internal error\":{}}},\"400\":{\"description\":\"Bad request, e.g. invalid data was sent in the request.\",\"content\":{\"application/json\":{},\"ReferenceId already in use\":{},\"Unspecified internal error\":{}}},\"409\":{\"description\":\"Conflict, duplicated reference id\",\"content\":{\"ReferenceId already in use\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"RESOURCE_ALREADY_EXIST\",\"message\":\"Duplicated reference id. Creation of resource failed.\"}},\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"PAYEE_NOT_FOUND\",\"message\":\"string\"}},\"Unspecified internal error\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}}}},\"500\":{\"description\":\"Internal Error.\",\"content\":{\"Unspecified internal error\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"INTERNAL_PROCESSING_ERROR\",\"message\":\"An internal error occurred while processing.\"}},\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"PAYEE_NOT_FOUND\",\"message\":\"string\"}},\"ReferenceId already in use\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}}}}}}},\"/v2_0/invoice/{x-referenceId}\":{\"get\":{\"summary\":\"GetInvoiceStatus\",\"description\":\"This operation is used to get the status of an invoice. X-Reference-Id that was passed in the post is used as reference to the request\",\"operationId\":\"GetInvoiceStatus\",\"parameters\":[{\"name\":\"x-referenceId\",\"in\":\"path\",\"description\":\"UUID of transaction to get result. Reference id  used when creating the Invoice.\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Authentication Token generated using CreateAccessToken API Call\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"OK. Note that a  failed CreateInvoice will be returned with this status too. The 'status' of the CreateInvoice can be used to determine the outcome of the request. The 'errorReason' field can be used to retrieve a cause in case of failure.\",\"content\":{\"Successful Invoice Created\":{\"schema\":{\"$ref\":\"#/components/schemas/InvoiceResult\"},\"examples\":{\"default\":{\"value\":null}}},\"Payer not found\":{\"schema\":{\"$ref\":\"#/components/schemas/InvoiceResult\"},\"examples\":{\"default\":{\"value\":null}}},\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/InvoiceResult\"},\"example\":{\"referenceId\":\"string\",\"externalId\":\"string\",\"amount\":\"string\",\"currency\":\"string\",\"status\":\"CREATED\",\"paymentReference\":\"string\",\"invoiceId\":\"string\",\"expiryDateTime\":\"string\",\"payeeFirstName\":\"string\",\"payeeLastName\":\"string\",\"errorReason\":{\"code\":\"PAYEE_NOT_FOUND\",\"message\":\"string\"},\"intendedPayer\":{\"partyIdType\":\"MSISDN\",\"partyId\":\"string\"},\"description\":\"string\"}},\"Request to pay not found\":{\"schema\":{\"$ref\":\"#/components/schemas/InvoiceResult\"},\"examples\":{\"default\":{\"value\":null}}},\"Unspecified internal error\":{\"schema\":{\"$ref\":\"#/components/schemas/InvoiceResult\"},\"examples\":{\"default\":{\"value\":null}}}}},\"400\":{\"description\":\"Bad request, e.g. an incorrectly formatted reference id was provided.\",\"content\":{\"Successful request to pay\":{},\"Payer not found\":{},\"application/json\":{},\"Request to pay not found\":{},\"Unspecified internal error\":{}}},\"404\":{\"description\":\"Resource not found.\",\"content\":{\"Request to pay not found\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"RESOURCE_NOT_FOUND\",\"message\":\"Requested resource was not found.\"}},\"Successful request to pay\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}},\"Payer not found\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}},\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"PAYEE_NOT_FOUND\",\"message\":\"string\"}},\"Unspecified internal error\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}}}},\"500\":{\"description\":\"Internal Error\",\"content\":{\"Unspecified internal error\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"INTERNAL_PROCESSING_ERROR\",\"message\":\"An internal error occurred while processing.\"}},\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"PAYEE_NOT_FOUND\",\"message\":\"string\"}},\"Request to pay not found\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}}}}}}},\"/v2_0/invoice/{referenceId}\":{\"delete\":{\"summary\":\"CancelInvoice\",\"description\":\"This operation is used to delete an invoice. The ReferenceId is associated with the invoice to be cancelled\",\"operationId\":\"CancelInvoice\",\"parameters\":[{\"name\":\"referenceId\",\"in\":\"path\",\"description\":\"UUID of transaction to get result. An id to uniquely identify the cancelling an Invoice\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Authentication Token generated using CreateAccessToken API Call\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. The desired target environment to use that is allowed for the API user.\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Reference-Id\",\"in\":\"header\",\"description\":\"Format - UUID. Recource ID of the created request to pay transaction. This ID is used, for example, validating the status of the request. ‘Universal Unique ID’ for the transaction generated using UUID version 4.\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Callback-Url\",\"in\":\"header\",\"description\":\"PUT Callback URL to send callback to once the invoice is completed.\",\"schema\":{\"type\":\"string\"}}],\"requestBody\":{\"content\":{\"application/json\":{\"schema\":{\"properties\":{\"externalId\":{\"type\":\"string\"}},\"example\":{\"externalId\":\"string\"}},\"example\":{\"externalId\":\"string\"}}}},\"responses\":{\"200\":{\"description\":\"OK. Note that a  failed CreateInvoice will be returned with this status too. The 'status' of the CreateInvoice can be used to determine the outcome of the request. The 'errorReason' field can be used to retrieve a cause in case of failure.\",\"content\":{\"Successful Invoice Deleted\":{\"schema\":{\"properties\":{\"externalId\":{\"type\":\"string\",\"description\":\"An external transaction id to tie to the cancelling of an invoice.\"}},\"example\":{\"externalId\":\"string (An external transaction id to tie to the payment.)\"}},\"examples\":{\"default\":{\"value\":null}}},\"Payer not found\":{\"schema\":{\"$ref\":\"#/components/schemas/InvoiceResult\"},\"examples\":{\"default\":{\"value\":null}}},\"application/json\":{\"schema\":{\"properties\":{\"externalId\":{\"type\":\"string\",\"description\":\"An external transaction id to tie to the cancelling of an invoice.\"}},\"example\":{\"externalId\":\"string (An external transaction id to tie to the payment.)\"}},\"example\":{\"externalId\":\"string (An external transaction id to tie to the payment.)\"}}}},\"400\":{\"description\":\"Bad request, e.g. an incorrectly formatted reference id was provided.\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"PAYEE_NOT_FOUND\",\"message\":\"string\"}}}},\"404\":{\"description\":\"Resource not found.\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"PAYEE_NOT_FOUND\",\"message\":\"string\"}},\"Unspecified internal error\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}}}},\"500\":{\"description\":\"Internal Error. Note that if the retrieved request to pay has failed, it will not cause this status to be returned. This status is only returned if the GET request itself fails.\",\"content\":{\"Unspecified internal error\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"INTERNAL_PROCESSING_ERROR\",\"message\":\"An internal error occurred while processing.\"}},\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"PAYEE_NOT_FOUND\",\"message\":\"string\"}}}}}}},\"/v2_0/preapproval\":{\"post\":{\"summary\":\"PreApproval\",\"description\":\"Preapproval operation is used to create a pre-approval.\",\"operationId\":\"PreApproval\",\"parameters\":[{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Authentication Token generated using CreateAccessToken API Call\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Callback-Url\",\"in\":\"header\",\"description\":\"PUT Callback URL to send callback to once the invoice is completed.\",\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Reference-Id\",\"in\":\"header\",\"description\":\"Format - UUID. An id to uniquely identify the making of an invoice\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The desired target environment to use that is allowed for the API user.\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"requestBody\":{\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/PreApproval\"},\"example\":{\"payer\":{\"partyIdType\":\"MSISDN\",\"partyId\":\"string\"},\"payerCurrency\":\"string(The currency code of the sending account. Amount to be paid.)\",\"payerMessage\":\"string (Message to the end user.)\",\"validityTime\":\"integer (The time duration in seconds that the pre-approval is valid once it is accepted.)\"}}}},\"responses\":{\"202\":{\"description\":\"Accepted\",\"content\":{\"application/json\":{},\"ReferenceId already in use\":{},\"Unspecified internal error\":{}}},\"400\":{\"description\":\"Bad request, e.g. invalid data was sent in the request.\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"PAYEE_NOT_FOUND\",\"message\":\"string\"}}}},\"409\":{\"description\":\"Conflict, duplicated reference id\",\"content\":{\"ReferenceId already in use\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"RESOURCE_ALREADY_EXIST\",\"message\":\"Duplicated reference id. Creation of resource failed.\"}},\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"PAYEE_NOT_FOUND\",\"message\":\"string\"}},\"Unspecified internal error\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}}}},\"500\":{\"description\":\"Internal Error.\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"PAYEE_NOT_FOUND\",\"message\":\"string\"}}}}}}},\"/v2_0/preapproval/{referenceId}\":{\"get\":{\"summary\":\"GetPreApprovalStatus\",\"description\":\"This operation is used to get the status of a pre-approval. X-Reference-Id that was passed in the post is used as reference to the request.\",\"operationId\":\"GetPreApprovalStatus\",\"parameters\":[{\"name\":\"referenceId\",\"in\":\"path\",\"description\":\"UUID of transaction to get result. Reference id  used when creating the PreApproval.\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Authentication Token generated using CreateAccessToken API Call\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"OK. Note that a  failed CreateInvoice will be returned with this status too. The 'status' of the CreateInvoice can be used to determine the outcome of the request. The 'errorReason' field can be used to retrieve a cause in case of failure.\",\"content\":{\"Successful Invoice Created\":{\"schema\":{\"$ref\":\"#/components/schemas/PreApprovalResult\"},\"examples\":{\"default\":{\"value\":null}}},\"Payer not found\":{\"schema\":{\"$ref\":\"#/components/schemas/PreApprovalResult\"},\"examples\":{\"default\":{\"value\":null}}},\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/PreApprovalResult\"},\"example\":{\"payer\":{\"partyIdType\":\"MSISDN\",\"partyId\":\"string\"},\"payerCurrency\":\"string\",\"payerMessage\":\"string\",\"status\":\"PENDING\",\"expirationDateTime\":0,\"reason\":{\"code\":\"PAYEE_NOT_FOUND\",\"message\":\"string\"}}}}},\"400\":{\"description\":\"Bad request, e.g. an incorrectly formatted reference id was provided.\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"PAYEE_NOT_FOUND\",\"message\":\"string\"}}}},\"404\":{\"description\":\"Resource not found.\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"PAYEE_NOT_FOUND\",\"message\":\"string\"}},\"Unspecified internal error\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}}}},\"500\":{\"description\":\"Internal Error. Note that if the retrieved request to pay has failed, it will not cause this status to be returned. This status is only returned if the GET request itself fails.\",\"content\":{\"Unspecified internal error\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"INTERNAL_PROCESSING_ERROR\",\"message\":\"An internal error occurred while processing.\"}},\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"PAYEE_NOT_FOUND\",\"message\":\"string\"}}}}}}},\"/oauth2/token/\":{\"post\":{\"summary\":\"CreateOauth2Token\",\"description\":\"This operation is used to claim a consent by the account holder for the requested scopes.\",\"operationId\":\"CreateOauth2Token\",\"parameters\":[{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Basic authentication header containing API user ID and API key. Should be sent in as B64 encoded.\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"requestBody\":{\"content\":{\"application/x-www-form-urlencoded\":{\"schema\":{\"properties\":{\"grant_type\":{\"type\":\"string\"},\"auth_req_id\":{\"type\":\"string\"},\"refresh_token\":{\"type\":\"string\"}}},\"example\":\"grant_type=urn:openid:params:grant-type:ciba&auth_req_id={auth_req_id}\"}}},\"responses\":{\"200\":{\"description\":\"OK\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/oauth2TokenResponse\"},\"example\":{\"access_token\":\"string\",\"token_type\":\"string\",\"expires_in\":0,\"scope\":\"string\",\"refresh_token\":\"string\",\"refresh_token_expired_in\":0}}}}}}},\"/oauth2/v1_0/userinfo\":{\"get\":{\"summary\":\"GetUserInfoWithConsent\",\"description\":\"This operation is used to claim a consent by the account holder for the requested scopes.\",\"operationId\":\"GetUserInfoWithConsent\",\"parameters\":[{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Token. Replace with a valid oauth2 token received from oauth2 token endpoint in Wallet Platform.\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"OK\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/consentkycResponse\"},\"example\":{\"sub\":\"string\",\"name\":\"string\",\"given_name\":\"string\",\"family_name\":\"string\",\"middle_name\":\"string\",\"email\":\"string\",\"email_verified\":true,\"gender\":\"string\",\"locale\":\"string\",\"phone_number\":\"string\",\"phone_number_verified\":true,\"address\":\"string\",\"updated_at\":0,\"status\":\"string\",\"birthdate\":\"string\",\"credit_score\":\"string\",\"active\":true,\"country_of_birth\":\"string\",\"region_of_birth\":\"string\",\"city_of_birth\":\"string\",\"occupation\":\"string\",\"employer_name\":\"string\",\"identification_type\":\"string\",\"identification_value\":\"string\"}}}}}}},\"/token/\":{\"post\":{\"summary\":\"CreateAccessToken\",\"description\":\"This operation is used to create an access token which can then be used to authorize and authenticate towards the other end-points of the API.\",\"operationId\":\"CreateAccessToken\",\"parameters\":[{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Basic authentication header containing API user ID and API key. Should be sent in as B64 encoded.\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"OK\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/TokenPost200ApplicationJsonResponse\"},\"example\":{\"access_token\":\"string\",\"token_type\":\"string\",\"expires_in\":0}}}},\"401\":{\"description\":\"Unauthorized\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/TokenPost401ApplicationJsonResponse\"},\"example\":{\"error\":\"string\"}}}},\"500\":{\"description\":\"Error\",\"content\":{\"application/json\":{}}}}}},\"/v2_0/payment\":{\"post\":{\"summary\":\"CreatePayments\",\"description\":\"Making it possible to perform payments via the partner gateway. This may be used to pay for external bills or to perform air-time top-ups.\",\"operationId\":\"CreatePayments\",\"parameters\":[{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Authentication Token generated using CreateAccessToken API Call\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Callback-Url\",\"in\":\"header\",\"description\":\"PUT Callback URL to send callback to once the invoice is completed.\",\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Reference-Id\",\"in\":\"header\",\"description\":\"Format - UUID. An id to uniquely identify the making of an invoice\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The desired target environment to use that is allowed for the API user.\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"requestBody\":{\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/CreatePayments\"},\"example\":{\"externalTransactionId\":\"string (An external transaction id to tie to the payment.)\",\"money\":{\"amount\":\"string\",\"currency\":\"string\"},\"customerReference\":\"String(661551442)\",\"serviceProviderUserName\":\"String\"}}}},\"responses\":{\"202\":{\"description\":\"Accepted\",\"content\":{\"application/json\":{},\"ReferenceId already in use\":{},\"Unspecified internal error\":{}}},\"400\":{\"description\":\"Bad request, e.g. invalid data was sent in the request.\",\"content\":{\"application/json\":{},\"ReferenceId already in use\":{},\"Unspecified internal error\":{}}},\"409\":{\"description\":\"Conflict, duplicated reference id\",\"content\":{\"ReferenceId already in use\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"RESOURCE_ALREADY_EXIST\",\"message\":\"Duplicated reference id. Creation of resource failed.\"}},\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"PAYEE_NOT_FOUND\",\"message\":\"string\"}},\"Unspecified internal error\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}}}},\"500\":{\"description\":\"Internal Error.\",\"content\":{\"Unspecified internal error\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"INTERNAL_PROCESSING_ERROR\",\"message\":\"An internal error occurred while processing.\"}},\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"PAYEE_NOT_FOUND\",\"message\":\"string\"}},\"ReferenceId already in use\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}}}}}}},\"/v2_0/payment/{x-referenceId}\":{\"get\":{\"summary\":\"GetPaymentStatus\",\"description\":\"This operation is used to get the status of a Payment. X-Reference-Id that was passed in the post is used as reference to the request\",\"operationId\":\"GetPaymentStatus\",\"parameters\":[{\"name\":\"x-referenceId\",\"in\":\"path\",\"description\":\"UUID of transaction to get result. Reference id  used when creating the Payment.\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Authentication Token generated using CreateAccessToken API Call\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"OK. Note that a  failed CreateInvoice will be returned with this status too. The 'status' of the CreateInvoice can be used to determine the outcome of the request. The 'errorReason' field can be used to retrieve a cause in case of failure.\",\"content\":{\"Successful Payment Created\":{\"schema\":{\"$ref\":\"#/components/schemas/PaymentResult\"},\"examples\":{\"default\":{\"value\":null}}},\"Payer not found\":{\"schema\":{\"$ref\":\"#/components/schemas/PaymentResult\"},\"examples\":{\"default\":{\"value\":null}}},\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/PaymentResult\"},\"example\":{\"referenceId\":\"string\",\"status\":\"CREATED\",\"financialTransactionId\":\"string\",\"reason\":{\"code\":\"PAYEE_NOT_FOUND\"}}},\"Payment not found\":{\"schema\":{\"$ref\":\"#/components/schemas/PaymentResult\"},\"examples\":{\"default\":{\"value\":null}}},\"Unspecified internal error\":{\"schema\":{\"$ref\":\"#/components/schemas/PaymentResult\"},\"examples\":{\"default\":{\"value\":null}}}}},\"400\":{\"description\":\"Bad request, e.g. an incorrectly formatted reference id was provided.\",\"content\":{\"Successful request to pay\":{},\"Payer not found\":{},\"application/json\":{},\"Request to pay not found\":{},\"Unspecified internal error\":{}}},\"404\":{\"description\":\"Resource not found.\",\"content\":{\"Request to pay not found\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"RESOURCE_NOT_FOUND\",\"message\":\"Requested resource was not found.\"}},\"Successful request to pay\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}},\"Payer not found\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}},\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"PAYEE_NOT_FOUND\",\"message\":\"string\"}},\"Unspecified internal error\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}}}},\"500\":{\"description\":\"Internal Error. Note that if the retrieved request to pay has failed, it will not cause this status to be returned. This status is only returned if the GET request itself fails.\",\"content\":{\"Unspecified internal error\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"INTERNAL_PROCESSING_ERROR\",\"message\":\"An internal error occurred while processing.\"}},\"Successful request to pay\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}},\"Payer not found\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}},\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"PAYEE_NOT_FOUND\",\"message\":\"string\"}},\"Request to pay not found\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}}}}}}}},\"components\":{\"schemas\":{\"BasicUserInfoJsonResponse\":{\"type\":\"object\",\"properties\":{\"given_name\":{\"type\":\"string\",\"description\":\"Given name(s) or first name(s) of the End-User. Note that in some cultures, people can have multiple given names; all can be present, with the names being separated by space characters.\"},\"family_name\":{\"type\":\"string\",\"description\":\"Surname(s) or last name(s) of the End-User. Note that in some cultures, people can have multiple family names or no family name; all can be present, with the names being separated by space characters.\"},\"birthdate\":{\"type\":\"string\",\"description\":\"Account holder birth date.\"},\"locale\":{\"type\":\"string\",\"description\":\"End-User's locale, represented as a  BCP47 [RFC5646] language tag. This is typically an  ISO 639-1 Alpha-2 [ISO639�|�1] language code in lowercase and an  ISO 3166-1 Alpha-2 [ISO3166�|�1] country code in uppercase, separated by a dash. For example,  en-US or  fr-CA. As a compatibility note, some implementations have used an underscore as the separator rather than a dash, for example,  en_US; Relying Parties may choose to accept this locale syntax as well.\"},\"gender\":{\"type\":\"string\",\"description\":\"End-User's gender. Values defined by this specification are female and male. Other values may be used when neither of the defined values are applicable.\"},\"status\":{\"type\":\"string\",\"description\":\"Accountholder status.\"}}},\"bcauthorize\":{\"type\":\"object\",\"properties\":{\"scope\":{\"type\":\"string\",\"description\":\"Space separated list of scopes.\"},\"login_hint\":{\"type\":\"string\",\"description\":\"The identity of the account holder.\"},\"access_type\":{\"enum\":[\"online\",\"offline\"],\"type\":\"string\",\"description\":\"Value either online, or offline.\"},\"consent_valid_in\":{\"type\":\"integer\",\"description\":\"The validity time of the consent in secondsThis parameter can only be used together with access type offline.\"},\"client_notification_token\":{\"type\":\"string\",\"description\":\"This token is required when the client is using Ping or Push mode.\"},\"scope_instruction\":{\"type\":\"string\",\"description\":\"Base64 encoded Instrcution of the financial transaction.\"}}},\"bcauthorizeResponse\":{\"type\":\"object\",\"properties\":{\"auth_req_id\":{\"type\":\"string\",\"description\":\"Authentication request ID as an UUID.\"},\"interval\":{\"type\":\"number\",\"description\":\"Indicates how long time the client should wait between retries towards the endpoint /oauth2/token.\"},\"expires_in\":{\"type\":\"number\",\"description\":\"Shows when the authentication request ID expires, in seconds.\"}}},\"TokenPost200ApplicationJsonResponse\":{\"type\":\"object\",\"properties\":{\"access_token\":{\"type\":\"string\",\"description\":\"A JWT token which can be used to authrize against the other API end-points. The format of the token follows the JWT standard format (see jwt.io for an example). This is the token that should be sent in in the Authorization header when calling the other API end-points.\"},\"token_type\":{\"type\":\"string\",\"description\":\"The token type.\"},\"expires_in\":{\"type\":\"integer\",\"description\":\"The validity time in seconds of the token.\"}}},\"oauth2TokenRequest\":{\"type\":\"object\",\"properties\":{\"grant_type\":{\"type\":\"string\",\"description\":\"Value can be either \\\"urn:openid:params:grant-type:ciba\\\" or \\\"refresh_token\\\"\"},\"auth_req_id\":{\"type\":\"string\",\"description\":\"Authentication request ID.Value is only mandatory if grant_type is \\\"urn:openid:params:grant-type:ciba\\\"\"},\"refresh_token\":{\"type\":\"string\",\"description\":\"UUID.Refresh token retrieved from oauth2 token endpoint for consents with grant_type offline. This parameter is only valid if grant_type is refresh_token.\"}}},\"oauth2TokenResponse\":{\"type\":\"object\",\"properties\":{\"access_token\":{\"type\":\"string\",\"description\":\"Oauth2 JWT access token.The generated token is valid 3600 seconds as default.\"},\"token_type\":{\"type\":\"string\",\"description\":\"Value is Bearer\"},\"expires_in\":{\"type\":\"number\",\"description\":\"Shows when the authentication request ID expires, in seconds.\"},\"scope\":{\"type\":\"string\",\"description\":\"List of scopes that belongs to the authentication request ID.\"},\"refresh_token\":{\"type\":\"string\",\"description\":\"UUID of the refresh_token\"},\"refresh_token_expired_in\":{\"type\":\"integer\",\"description\":\"The time in seconds until the consent can no longer be refreshed. Based on the default value for consent validity, or the value set to parameter consent_valid_in sent in the bc-authorize request.\"}}},\"consentkycResponse\":{\"type\":\"object\",\"properties\":{\"sub\":{\"type\":\"string\",\"description\":\"Subject - Identifier for the End-User at the Issuer.\"},\"name\":{\"type\":\"string\",\"description\":\"End-User's full name in displayable form including all name parts.\"},\"given_name\":{\"type\":\"string\",\"description\":\"Given name(s) or first name(s) of the End-User.\"},\"family_name\":{\"type\":\"string\",\"description\":\"Surname(s) or last name(s) of the End-User.\"},\"middle_name\":{\"type\":\"string\",\"description\":\"Middle name(s) of the End-User.\"},\"email\":{\"type\":\"string\",\"description\":\"End-User's preferred e-mail address. Its value MUST conform to the  RFC 5322 [RFC5322] address specification syntax.\"},\"email_verified\":{\"type\":\"boolean\",\"description\":\"The response value is True if the End-User's e-mail address has been verified;otherwise false.\"},\"gender\":{\"type\":\"string\",\"description\":\"End-User's gender.\"},\"locale\":{\"type\":\"string\",\"description\":\"Preffered language.\"},\"phone_number\":{\"type\":\"string\",\"description\":\"End-User's preferred telephone number\"},\"phone_number_verified\":{\"type\":\"boolean\",\"description\":\"The response value is True if the End-User's phone number has been verified; otherwise false.\"},\"address\":{\"type\":\"string\",\"description\":\"User Address\"},\"updated_at\":{\"type\":\"number\",\"description\":\"The time the End-User's information was last updated.\"},\"status\":{\"type\":\"string\",\"description\":\"Account holder status.\"},\"birthdate\":{\"type\":\"string\",\"description\":\"The birth date of the account holder.\"},\"credit_score\":{\"type\":\"string\",\"description\":\"The credit score of the account holder.\"},\"active\":{\"type\":\"boolean\",\"description\":\"The status of the account holder.\"},\"country_of_birth\":{\"type\":\"string\",\"description\":\"Account holder country of birth.\"},\"region_of_birth\":{\"type\":\"string\",\"description\":\"The birth region of the account holder.\"},\"city_of_birth\":{\"type\":\"string\",\"description\":\"The city of birth for the account holder.\"},\"occupation\":{\"type\":\"string\",\"description\":\"Occupation of the account holder.\"},\"employer_name\":{\"type\":\"string\",\"description\":\"The name of the employer.\"},\"identification_type\":{\"type\":\"string\",\"description\":\"Type of identification.The first non-expired identification is always chosen.\"},\"identification_value\":{\"type\":\"string\",\"description\":\"The value of the identification.\"}}},\"address\":{\"type\":\"object\",\"properties\":{\"formatted\":{\"type\":\"string\",\"description\":\"Full mailing address, formatted for display or use on a mailing label. This field may contain multiple lines, separated by newlines.\"},\"street_address\":{\"type\":\"string\",\"description\":\"Full street address component, which may include house number, street name, Post Office Box, and multi-line extended street address information.\"},\"locality\":{\"type\":\"string\",\"description\":\"City or locality component.\"},\"region\":{\"type\":\"string\",\"description\":\"State, province, prefecture, or region component.\"},\"postal_code\":{\"type\":\"string\",\"description\":\"Zip code or postal code component.\"},\"country\":{\"type\":\"string\",\"description\":\"Country name component.\"}}},\"TokenPost401ApplicationJsonResponse\":{\"type\":\"object\",\"properties\":{\"error\":{\"type\":\"string\",\"description\":\"An error code.\"}}},\"Balance\":{\"type\":\"object\",\"properties\":{\"availableBalance\":{\"type\":\"string\",\"description\":\"The available balance of the account\"},\"currency\":{\"type\":\"string\",\"description\":\"ISO4217 Currency\"}},\"description\":\"The available balance of the account\"},\"Party\":{\"type\":\"object\",\"properties\":{\"partyIdType\":{\"enum\":[\"MSISDN\",\"EMAIL\",\"PARTY_CODE\"],\"type\":\"string\"},\"partyId\":{\"type\":\"string\"}},\"description\":\"Party identifies a account holder in the wallet platform. Party consists of two parameters, type and partyId. Each type have its own validation of the partyId<br> MSISDN - Mobile Number validated according to ITU-T E.164. Validated with IsMSISDN<br> EMAIL - Validated to be a valid e-mail format. Validated with IsEmail<br> PARTY_CODE - UUID of the party. Validated with IsUuid\"},\"RequestToPay\":{\"type\":\"object\",\"properties\":{\"amount\":{\"type\":\"string\",\"description\":\"Amount that will be debited from the payer account.\"},\"currency\":{\"type\":\"string\",\"description\":\"ISO4217 Currency\"},\"externalId\":{\"type\":\"string\",\"description\":\"External id is used as a reference to the transaction. External id is used for reconciliation. The external id will be included in transaction history report. <br>External id is not required to be unique.\"},\"payer\":{\"$ref\":\"#/components/schemas/Party\"},\"payerMessage\":{\"type\":\"string\",\"description\":\"Message that will be written in the payer transaction history message field.\"},\"payeeNote\":{\"type\":\"string\",\"description\":\"Message that will be written in the payee transaction history note field.\"}}},\"RequestToPayResult\":{\"type\":\"object\",\"properties\":{\"amount\":{\"type\":\"string\",\"description\":\"Amount that will be debited from the payer account.\"},\"currency\":{\"type\":\"string\",\"description\":\"ISO4217 Currency\"},\"financialTransactionId\":{\"type\":\"string\",\"description\":\"Financial transactionIdd from mobile money manager.<br> Used to connect to the specific financial transaction made in the account\"},\"externalId\":{\"type\":\"string\",\"description\":\"External id provided in the creation of the requestToPay transaction.\"},\"payer\":{\"$ref\":\"#/components/schemas/Party\"},\"payerMessage\":{\"type\":\"string\",\"description\":\"Message that will be written in the payer transaction history message field.\"},\"payeeNote\":{\"type\":\"string\",\"description\":\"Message that will be written in the payee transaction history note field.\"},\"status\":{\"enum\":[\"PENDING\",\"SUCCESSFUL\",\"FAILED\"],\"type\":\"string\"},\"reason\":{\"$ref\":\"#/components/schemas/ErrorReason\"}}},\"Transfer\":{\"type\":\"object\",\"properties\":{\"amount\":{\"type\":\"string\",\"description\":\"Amount that will be debited from the payer account.\"},\"currency\":{\"type\":\"string\",\"description\":\"ISO4217 Currency\"},\"externalId\":{\"type\":\"string\",\"description\":\"External id is used as a reference to the transaction. External id is used for reconciliation. The external id will be included in transaction history report. <br>External id is not required to be unique.\"},\"payee\":{\"$ref\":\"#/components/schemas/Party\"},\"payerMessage\":{\"type\":\"string\",\"description\":\"Message that will be written in the payer transaction history message field.\"},\"payeeNote\":{\"type\":\"string\",\"description\":\"Message that will be written in the payee transaction history note field.\"}}},\"TransferResult\":{\"type\":\"object\",\"properties\":{\"amount\":{\"type\":\"string\",\"description\":\"Amount that will be debited from the payer account.\"},\"currency\":{\"type\":\"string\",\"description\":\"ISO4217 Currency\"},\"financialTransactionId\":{\"type\":\"string\",\"description\":\"Financial transactionIdd from mobile money manager.<br> Used to connect to the specific financial transaction made in the account\"},\"externalId\":{\"type\":\"string\",\"description\":\"External id is used as a reference to the transaction. External id is used for reconciliation. The external id will be included in transaction history report. <br>External id is not required to be unique.\"},\"payee\":{\"$ref\":\"#/components/schemas/Party\"},\"payerMessage\":{\"type\":\"string\",\"description\":\"Message that will be written in the payer transaction history message field.\"},\"payeeNote\":{\"type\":\"string\",\"description\":\"Message that will be written in the payee transaction history note field.\"},\"status\":{\"enum\":[\"PENDING\",\"SUCCESSFUL\",\"FAILED\"],\"type\":\"string\"},\"reason\":{\"$ref\":\"#/components/schemas/ErrorReason\"}}},\"deliverynotification\":{\"type\":\"object\",\"properties\":{\"notificationMessage\":{\"type\":\"string\"}}},\"PreApproval\":{\"type\":\"object\",\"properties\":{\"payer\":{\"$ref\":\"#/components/schemas/Party\"},\"payerCurrency\":{\"type\":\"string\",\"description\":\"ISO4217 Currency\"},\"payerMessage\":{\"type\":\"string\",\"description\":\"The mesage that is shown to the approver.\"},\"validityTime\":{\"type\":\"integer\",\"description\":\"The request validity time of the pre-approval\"}}},\"PreApprovalResult\":{\"type\":\"object\",\"properties\":{\"payer\":{\"$ref\":\"#/components/schemas/Party\"},\"payerCurrency\":{\"type\":\"string\",\"description\":\"ISO4217 Currency\"},\"payerMessage\":{\"type\":\"string\",\"description\":\"The mesage that is shown to the approver.\"},\"status\":{\"enum\":[\"PENDING\",\"SUCCESSFUL\",\"FAILED\"],\"type\":\"string\"},\"expirationDateTime\":{\"type\":\"integer\",\"description\":\"The expiry date +time of the preapproval, in YYYY-MM-DDTHH:mm:SS format\"},\"reason\":{\"$ref\":\"#/components/schemas/ErrorReason\"}}},\"CreateInvoice\":{\"type\":\"object\",\"properties\":{\"externalId\":{\"type\":\"string\",\"description\":\"External id is used as a reference to the transaction. External id is used for reconciliation. The external id will be included in transaction history report. <br>External id is not required to be unique.\"},\"amount\":{\"type\":\"string\",\"description\":\"Amount that will be debited from the payer account.\"},\"currency\":{\"type\":\"string\",\"description\":\"ISO4217 Currency\"},\"validityDuration\":{\"type\":\"string\",\"description\":\"ValidityTime - The duration that the invoice is valid in seconds.\"},\"intendedPayer\":{\"$ref\":\"#/components/schemas/Party\"},\"payee\":{\"$ref\":\"#/components/schemas/Party\"},\"description\":{\"type\":\"string\",\"description\":\"Message that will be written in the payer transaction history message field.\"}}},\"InvoiceResult\":{\"type\":\"object\",\"properties\":{\"referenceId\":{\"type\":\"string\",\"description\":\"The reference id for this invoice.\"},\"externalId\":{\"type\":\"string\",\"description\":\"An external transaction id to tie to the payment.\"},\"amount\":{\"type\":\"string\",\"description\":\"A positive amount for this invoice.\"},\"currency\":{\"type\":\"string\",\"description\":\"ISO4217 Currency - The currency used in this invoice.\"},\"status\":{\"enum\":[\"CREATED\",\"PENDING\",\"SUCCESSFUL\",\"FAILED\"],\"type\":\"string\"},\"paymentReference\":{\"type\":\"string\",\"description\":\"A unique id that identifies a pending invoice.\"},\"invoiceId\":{\"type\":\"string\",\"description\":\"An id for the invoice.\"},\"expiryDateTime\":{\"type\":\"string\",\"description\":\"DateTime for when invoice expires, in YYYY-MM-DD:THH:mm:ss format.\"},\"payeeFirstName\":{\"type\":\"string\",\"description\":\"First name of the payee in this invoice.\"},\"payeeLastName\":{\"type\":\"string\",\"description\":\"Surname of the payee in this invoice\"},\"errorReason\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"intendedPayer\":{\"$ref\":\"#/components/schemas/Party\"},\"description\":{\"type\":\"string\",\"description\":\"An optional description of the invoice.\"}}},\"Money\":{\"type\":\"object\",\"properties\":{\"amount\":{\"type\":\"string\",\"description\":\"A positive amount\"},\"currency\":{\"type\":\"string\",\"description\":\"Currency in ISO4217 format\"}}},\"CreatePayments\":{\"type\":\"object\",\"properties\":{\"externalTransactionId\":{\"type\":\"string\",\"description\":\"An external transaction id to tie to the payment.\"},\"money\":{\"$ref\":\"#/components/schemas/Money\"},\"customerReference\":{\"type\":\"string\",\"description\":\"A customer reference for a provider. Example: +46070911111\"},\"serviceProviderUserName\":{\"type\":\"string\",\"description\":\"A service provider name. Example: Electricity Inc.\"},\"couponId\":{\"type\":\"string\",\"description\":\"A coupon the user would like to redeem and use the reward as part of this payment.\"},\"productId\":{\"type\":\"string\",\"description\":\"Optional id of a product, used if paying for a product.\"},\"productOfferingId\":{\"type\":\"string\",\"description\":\"Optional id of a product offering, used when paying for a particular offering of a product.\"},\"receiverMessage\":{\"type\":\"string\",\"description\":\"A descriptive note for receiver transaction history.\"},\"senderNote\":{\"type\":\"string\",\"description\":\"A descriptive note for sender transaction history.\"},\"maxNumberOfRetries\":{\"type\":\"integer\",\"description\":\"maxNumberOfRetries\"},\"includeSenderCharges\":{\"type\":\"boolean\",\"description\":\"Specifies if sender charges, this is, fee and tax paid by the sender, should be included in the specified transaction amount. This means that the charges will be deducted from the transaction amount before the remaining amount is transferred to the receiver.True indicates that charges shall be included in the specified transaction amount. The default value is false, meaning that sender charges are charged on top of the transaction amount.\"}}},\"PaymentResult\":{\"type\":\"object\",\"properties\":{\"referenceId\":{\"type\":\"string\",\"description\":\"The reference id for this Payment.\"},\"status\":{\"enum\":[\"CREATED\",\"PENDING\",\"SUCCESSFUL\",\"FAILED\"],\"type\":\"string\"},\"financialTransactionId\":{\"type\":\"string\",\"description\":\"A transaction id associated with this payment.\"},\"reason\":{\"$ref\":\"#/components/schemas/ErrorReason\"}}},\"ErrorReason\":{\"type\":\"object\",\"properties\":{\"code\":{\"enum\":[\"PAYEE_NOT_FOUND\",\"PAYER_NOT_FOUND\",\"NOT_ALLOWED\",\"NOT_ALLOWED_TARGET_ENVIRONMENT\",\"INVALID_CALLBACK_URL_HOST\",\"INVALID_CURRENCY\",\"SERVICE_UNAVAILABLE\",\"INTERNAL_PROCESSING_ERROR\",\"NOT_ENOUGH_FUNDS\",\"PAYER_LIMIT_REACHED\",\"PAYEE_NOT_ALLOWED_TO_RECEIVE\",\"PAYMENT_NOT_APPROVED\",\"RESOURCE_NOT_FOUND\",\"APPROVAL_REJECTED\",\"EXPIRED\",\"TRANSACTION_CANCELED\",\"RESOURCE_ALREADY_EXIST\"],\"type\":\"string\"},\"message\":{\"type\":\"string\"}}},\"BooleanResult\":{\"type\":\"object\",\"properties\":{\"result\":{\"type\":\"boolean\"}}}},\"securitySchemes\":{\"apiKeyHeader\":{\"type\":\"apiKey\",\"name\":\"Ocp-Apim-Subscription-Key\",\"in\":\"header\"},\"apiKeyQuery\":{\"type\":\"apiKey\",\"name\":\"subscription-key\",\"in\":\"query\"}}},\"security\":[{\"apiKeyHeader\":[]},{\"apiKeyQuery\":[]}]}\n      /**\n      * Enable remote collection of bills, fees or taxes\n      */\n      export class Collection extends Client {\n        constructor({\n          schema = CollectionScheam,\n          base_url = \"https://sandbox.momodeveloper.mtn.com/collection\",\n          headers = {},\n        }: {\n          base_url?: string;\n          schema?: OpenAPIV3.Document;\n          headers?: IHashMapGeneric<string>;\n        } = {}) {\n          super({ schema, base_url, headers });\n        }\n\n        \n        /**\n        * Get the balance of own account.\n        */\n        getAccountBalance(params: IHashMapGeneric<string> = {}, headers: IHashMapGeneric<string> = {}){\n          headers = {...this.headers, ...headers}\n\n          const details = {\"parameters\":[{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Authentication Token generated using CreateAccessToken API Call\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}}]} as OpenAPIV3.OperationObject\n\n          this.validateParameters(\"get\", \"/v1_0/account/balance\", headers, params, details)\n\n          return this.makeRequest(\"get\", \"/v1_0/account/balance\", headers, params)\n        }\n\n\n        /**\n        * Operation is used  to check if an account holder is registered and active in the system.\n        */\n        validateAccountHolderStatus(params: IHashMapGeneric<string> = {}, headers: IHashMapGeneric<string> = {}){\n          headers = {...this.headers, ...headers}\n\n          const details = {\"parameters\":[{\"name\":\"accountHolderId\",\"in\":\"path\",\"description\":\"The AccountHolder number. Validated according to the AccountHolder ID type (case Sensitive). <br> msisdn - Mobile Number validated according to ITU-T E.164. Validated with IsMSISDN<br> email - Validated to be a valid e-mail format. Validated with IsEmail\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"accountHolderIdType\",\"in\":\"path\",\"description\":\"Specifies the type of the AccountHolder ID. Allowed values [msisdn, email].  <br> accountHolderId should explicitly be in small letters.\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Authentication Token generated using CreateAccessToken API Call\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}}]} as OpenAPIV3.OperationObject\n\n          this.validateParameters(\"get\", \"/v1_0/accountholder/{accountHolderIdType}/{accountHolderId}/active\", headers, params, details)\n\n          return this.makeRequest(\"get\", \"/v1_0/accountholder/{accountHolderIdType}/{accountHolderId}/active\", headers, params)\n        }\n\n\n        /**\n        * This operation is used to request a payment from a consumer (Payer). The payer will be asked to authorize the payment. The transaction will be executed once the payer has authorized the payment. The requesttopay will be in status PENDING until the transaction is authorized or declined by the payer or it is timed out by the system. \n Status of the transaction can be validated by using the GET /requesttopay/\\<resourceId\\>\n        */\n        requesttoPay(params: IHashMapGeneric<string> = {}, headers: IHashMapGeneric<string> = {}){\n          headers = {...this.headers, ...headers}\n\n          const details = {\"parameters\":[{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Authentication Token generated using CreateAccessToken API Call\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Callback-Url\",\"in\":\"header\",\"description\":\"URL to the server where the callback should be sent.\",\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Reference-Id\",\"in\":\"header\",\"description\":\"Format - UUID. Recource ID of the created request to pay transaction. This ID is used, for example, validating the status of the request. ‘Universal Unique ID’ for the transaction generated using UUID version 4.\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}}]} as OpenAPIV3.OperationObject\n\n          this.validateParameters(\"post\", \"/v1_0/requesttopay\", headers, params, details)\n\n          return this.makeRequest(\"post\", \"/v1_0/requesttopay\", headers, params)\n        }\n\n\n        /**\n        * This operation is used to get the status of a request to pay. X-Reference-Id that was passed in the post is used as reference to the request.\n        */\n        requesttoPayTransactionStatus(params: IHashMapGeneric<string> = {}, headers: IHashMapGeneric<string> = {}){\n          headers = {...this.headers, ...headers}\n\n          const details = {\"parameters\":[{\"name\":\"referenceId\",\"in\":\"path\",\"description\":\"UUID of transaction to get result. Reference id  used when creating the request to pay.\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Authentication Token generated using CreateAccessToken API Call\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}}]} as OpenAPIV3.OperationObject\n\n          this.validateParameters(\"get\", \"/v1_0/requesttopay/{referenceId}\", headers, params, details)\n\n          return this.makeRequest(\"get\", \"/v1_0/requesttopay/{referenceId}\", headers, params)\n        }\n\n\n        /**\n        * This operation is used to claim a consent by the account holder for the requested scopes.\n        */\n        bcAuthorize(params: IHashMapGeneric<string> = {}, headers: IHashMapGeneric<string> = {}){\n          headers = {...this.headers, ...headers}\n\n          const details = {\"parameters\":[{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Token. Replace with a valid oauth2 token received from oauth2 token endpoint in Wallet Platform.\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Callback-Url\",\"in\":\"header\",\"description\":\"URL to the server where the callback should be sent.\",\"schema\":{\"type\":\"string\"}}]} as OpenAPIV3.OperationObject\n\n          this.validateParameters(\"post\", \"/v1_0/bc-authorize\", headers, params, details)\n\n          return this.makeRequest(\"post\", \"/v1_0/bc-authorize\", headers, params)\n        }\n\n\n        /**\n        * This operation returns personal information of the account holder. The operation does not need any consent by the account holder.\n        */\n        getBasicUserinfo(params: IHashMapGeneric<string> = {}, headers: IHashMapGeneric<string> = {}){\n          headers = {...this.headers, ...headers}\n\n          const details = {\"parameters\":[{\"name\":\"accountHolderMSISDN\",\"in\":\"path\",\"description\":\"MSISDN of the account holder. Mobile number validated according to ITU-T E.164\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Authentication Token generated using CreateAccessToken API Call\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}}]} as OpenAPIV3.OperationObject\n\n          this.validateParameters(\"get\", \"/v1_0/accountholder/msisdn/{accountHolderMSISDN}/basicuserinfo\", headers, params, details)\n\n          return this.makeRequest(\"get\", \"/v1_0/accountholder/msisdn/{accountHolderMSISDN}/basicuserinfo\", headers, params)\n        }\n\n\n        /**\n        * This operation is used to send additional Notification to an End User.\n        */\n        requesttoPayDeliveryNotification(params: IHashMapGeneric<string> = {}, headers: IHashMapGeneric<string> = {}){\n          headers = {...this.headers, ...headers}\n\n          const details = {\"parameters\":[{\"name\":\"referenceId\",\"in\":\"path\",\"description\":\"UUID of transaction to get result. Reference id used when creating the RequesttoPay.\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"notificationMessage\",\"in\":\"header\",\"description\":\"The message to send in the delivery notification. Max              length 160.\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"Language\",\"in\":\"header\",\"description\":\"An ISO 639-1 or ISO 639-3 language code. The language is used to select the best matching notification template when sending the delivery notification to the end-user. A default value is used if not specified.\",\"schema\":{\"type\":\"string\"}},{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Authentication Token generated using CreateAccessToken API Call\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}}]} as OpenAPIV3.OperationObject\n\n          this.validateParameters(\"post\", \"/v1_0/requesttopay/{referenceId}/deliverynotification\", headers, params, details)\n\n          return this.makeRequest(\"post\", \"/v1_0/requesttopay/{referenceId}/deliverynotification\", headers, params)\n        }\n\n\n        /**\n        * Get the balance of own account. Currency parameter passed in GET\n        */\n        getAccountBalanceInSpecificCurrency(params: IHashMapGeneric<string> = {}, headers: IHashMapGeneric<string> = {}){\n          headers = {...this.headers, ...headers}\n\n          const details = {\"parameters\":[{\"name\":\"currency\",\"in\":\"path\",\"description\":\"Should be in ISO4217 Currency\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Authentication Token generated using CreateAccessToken API Call\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}}]} as OpenAPIV3.OperationObject\n\n          this.validateParameters(\"get\", \"/v1_0/account/balance/{currency}\", headers, params, details)\n\n          return this.makeRequest(\"get\", \"/v1_0/account/balance/{currency}\", headers, params)\n        }\n\n\n        /**\n        * This operation is used to request a withdrawal (cash-out) from a consumer (Payer). The payer will be asked to authorize the withdrawal. The transaction will be executed once the payer has authorized the withdrawal\n        */\n        requestToWithdrawV1(params: IHashMapGeneric<string> = {}, headers: IHashMapGeneric<string> = {}){\n          headers = {...this.headers, ...headers}\n\n          const details = {\"parameters\":[{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Authentication Token generated using CreateAccessToken API Call\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Callback-Url\",\"in\":\"header\",\"description\":\"POST Callback URL to the server where the callback should be sent.\",\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Reference-Id\",\"in\":\"header\",\"description\":\"Format - UUID. Recource ID of the created request to pay transaction. This ID is used, for example, validating the status of the request. ‘Universal Unique ID’ for the transaction generated using UUID version 4.\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}}]} as OpenAPIV3.OperationObject\n\n          this.validateParameters(\"post\", \"/v1_0/requesttowithdraw\", headers, params, details)\n\n          return this.makeRequest(\"post\", \"/v1_0/requesttowithdraw\", headers, params)\n        }\n\n\n        /**\n        * This operation is used to request a withdrawal (cash-out) from a consumer (Payer). The payer will be asked to authorize the withdrawal. The transaction will be executed once the payer has authorized the withdrawal\n        */\n        requestToWithdrawV2(params: IHashMapGeneric<string> = {}, headers: IHashMapGeneric<string> = {}){\n          headers = {...this.headers, ...headers}\n\n          const details = {\"parameters\":[{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Authentication Token generated using CreateAccessToken API Call\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Callback-Url\",\"in\":\"header\",\"description\":\"PUT Callback URL to the server where the callback should be sent.\",\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Reference-Id\",\"in\":\"header\",\"description\":\"Format - UUID. Recource ID of the created request to pay transaction. This ID is used, for example, validating the status of the request. ‘Universal Unique ID’ for the transaction generated using UUID version 4.\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}}]} as OpenAPIV3.OperationObject\n\n          this.validateParameters(\"post\", \"/v2_0/requesttowithdraw\", headers, params, details)\n\n          return this.makeRequest(\"post\", \"/v2_0/requesttowithdraw\", headers, params)\n        }\n\n\n        /**\n        * This operation is used to get the status of a request to withdraw. X-Reference-Id that was passed in the post is used as reference to the request.\n        */\n        requestToWithdrawTransactionStatus(params: IHashMapGeneric<string> = {}, headers: IHashMapGeneric<string> = {}){\n          headers = {...this.headers, ...headers}\n\n          const details = {\"parameters\":[{\"name\":\"referenceId\",\"in\":\"path\",\"description\":\"UUID of transaction to get result. Reference id  used when creating the RequestToWithdraw.\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Authentication Token generated using CreateAccessToken API Call\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}}]} as OpenAPIV3.OperationObject\n\n          this.validateParameters(\"get\", \"/v1_0/requesttowithdraw/{referenceId}\", headers, params, details)\n\n          return this.makeRequest(\"get\", \"/v1_0/requesttowithdraw/{referenceId}\", headers, params)\n        }\n\n\n        /**\n        * A merchant may use this in order to create an invoice that can be paid by an intended payer via any channel at a later stage.\n        */\n        createInvoice(params: IHashMapGeneric<string> = {}, headers: IHashMapGeneric<string> = {}){\n          headers = {...this.headers, ...headers}\n\n          const details = {\"parameters\":[{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Authentication Token generated using CreateAccessToken API Call\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Callback-Url\",\"in\":\"header\",\"description\":\"PUT Callback URL to send callback to once the invoice is completed.\",\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Reference-Id\",\"in\":\"header\",\"description\":\"Format - UUID. An id to uniquely identify the making of an invoice\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The desired target environment to use that is allowed for the API user.\",\"required\":true,\"schema\":{\"type\":\"string\"}}]} as OpenAPIV3.OperationObject\n\n          this.validateParameters(\"post\", \"/v2_0/invoice\", headers, params, details)\n\n          return this.makeRequest(\"post\", \"/v2_0/invoice\", headers, params)\n        }\n\n\n        /**\n        * This operation is used to get the status of an invoice. X-Reference-Id that was passed in the post is used as reference to the request\n        */\n        getInvoiceStatus(params: IHashMapGeneric<string> = {}, headers: IHashMapGeneric<string> = {}){\n          headers = {...this.headers, ...headers}\n\n          const details = {\"parameters\":[{\"name\":\"x-referenceId\",\"in\":\"path\",\"description\":\"UUID of transaction to get result. Reference id  used when creating the Invoice.\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Authentication Token generated using CreateAccessToken API Call\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}}]} as OpenAPIV3.OperationObject\n\n          this.validateParameters(\"get\", \"/v2_0/invoice/{x-referenceId}\", headers, params, details)\n\n          return this.makeRequest(\"get\", \"/v2_0/invoice/{x-referenceId}\", headers, params)\n        }\n\n\n        /**\n        * This operation is used to delete an invoice. The ReferenceId is associated with the invoice to be cancelled\n        */\n        cancelInvoice(params: IHashMapGeneric<string> = {}, headers: IHashMapGeneric<string> = {}){\n          headers = {...this.headers, ...headers}\n\n          const details = {\"parameters\":[{\"name\":\"referenceId\",\"in\":\"path\",\"description\":\"UUID of transaction to get result. An id to uniquely identify the cancelling an Invoice\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Authentication Token generated using CreateAccessToken API Call\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. The desired target environment to use that is allowed for the API user.\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Reference-Id\",\"in\":\"header\",\"description\":\"Format - UUID. Recource ID of the created request to pay transaction. This ID is used, for example, validating the status of the request. ‘Universal Unique ID’ for the transaction generated using UUID version 4.\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Callback-Url\",\"in\":\"header\",\"description\":\"PUT Callback URL to send callback to once the invoice is completed.\",\"schema\":{\"type\":\"string\"}}]} as OpenAPIV3.OperationObject\n\n          this.validateParameters(\"delete\", \"/v2_0/invoice/{referenceId}\", headers, params, details)\n\n          return this.makeRequest(\"delete\", \"/v2_0/invoice/{referenceId}\", headers, params)\n        }\n\n\n        /**\n        * Preapproval operation is used to create a pre-approval.\n        */\n        preApproval(params: IHashMapGeneric<string> = {}, headers: IHashMapGeneric<string> = {}){\n          headers = {...this.headers, ...headers}\n\n          const details = {\"parameters\":[{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Authentication Token generated using CreateAccessToken API Call\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Callback-Url\",\"in\":\"header\",\"description\":\"PUT Callback URL to send callback to once the invoice is completed.\",\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Reference-Id\",\"in\":\"header\",\"description\":\"Format - UUID. An id to uniquely identify the making of an invoice\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The desired target environment to use that is allowed for the API user.\",\"required\":true,\"schema\":{\"type\":\"string\"}}]} as OpenAPIV3.OperationObject\n\n          this.validateParameters(\"post\", \"/v2_0/preapproval\", headers, params, details)\n\n          return this.makeRequest(\"post\", \"/v2_0/preapproval\", headers, params)\n        }\n\n\n        /**\n        * This operation is used to get the status of a pre-approval. X-Reference-Id that was passed in the post is used as reference to the request.\n        */\n        getPreApprovalStatus(params: IHashMapGeneric<string> = {}, headers: IHashMapGeneric<string> = {}){\n          headers = {...this.headers, ...headers}\n\n          const details = {\"parameters\":[{\"name\":\"referenceId\",\"in\":\"path\",\"description\":\"UUID of transaction to get result. Reference id  used when creating the PreApproval.\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Authentication Token generated using CreateAccessToken API Call\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}}]} as OpenAPIV3.OperationObject\n\n          this.validateParameters(\"get\", \"/v2_0/preapproval/{referenceId}\", headers, params, details)\n\n          return this.makeRequest(\"get\", \"/v2_0/preapproval/{referenceId}\", headers, params)\n        }\n\n\n        /**\n        * This operation is used to claim a consent by the account holder for the requested scopes.\n        */\n        createOauth2token(params: IHashMapGeneric<string> = {}, headers: IHashMapGeneric<string> = {}){\n          headers = {...this.headers, ...headers}\n\n          const details = {\"parameters\":[{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Basic authentication header containing API user ID and API key. Should be sent in as B64 encoded.\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}}]} as OpenAPIV3.OperationObject\n\n          this.validateParameters(\"post\", \"/oauth2/token/\", headers, params, details)\n\n          return this.makeRequest(\"post\", \"/oauth2/token/\", headers, params)\n        }\n\n\n        /**\n        * This operation is used to claim a consent by the account holder for the requested scopes.\n        */\n        getUserInfoWithConsent(params: IHashMapGeneric<string> = {}, headers: IHashMapGeneric<string> = {}){\n          headers = {...this.headers, ...headers}\n\n          const details = {\"parameters\":[{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Token. Replace with a valid oauth2 token received from oauth2 token endpoint in Wallet Platform.\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}}]} as OpenAPIV3.OperationObject\n\n          this.validateParameters(\"get\", \"/oauth2/v1_0/userinfo\", headers, params, details)\n\n          return this.makeRequest(\"get\", \"/oauth2/v1_0/userinfo\", headers, params)\n        }\n\n\n        /**\n        * This operation is used to create an access token which can then be used to authorize and authenticate towards the other end-points of the API.\n        */\n        createAccessToken(params: IHashMapGeneric<string> = {}, headers: IHashMapGeneric<string> = {}){\n          headers = {...this.headers, ...headers}\n\n          const details = {\"parameters\":[{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Basic authentication header containing API user ID and API key. Should be sent in as B64 encoded.\",\"required\":true,\"schema\":{\"type\":\"string\"}}]} as OpenAPIV3.OperationObject\n\n          this.validateParameters(\"post\", \"/token/\", headers, params, details)\n\n          return this.makeRequest(\"post\", \"/token/\", headers, params)\n        }\n\n\n        /**\n        * Making it possible to perform payments via the partner gateway. This may be used to pay for external bills or to perform air-time top-ups.\n        */\n        createPayments(params: IHashMapGeneric<string> = {}, headers: IHashMapGeneric<string> = {}){\n          headers = {...this.headers, ...headers}\n\n          const details = {\"parameters\":[{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Authentication Token generated using CreateAccessToken API Call\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Callback-Url\",\"in\":\"header\",\"description\":\"PUT Callback URL to send callback to once the invoice is completed.\",\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Reference-Id\",\"in\":\"header\",\"description\":\"Format - UUID. An id to uniquely identify the making of an invoice\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The desired target environment to use that is allowed for the API user.\",\"required\":true,\"schema\":{\"type\":\"string\"}}]} as OpenAPIV3.OperationObject\n\n          this.validateParameters(\"post\", \"/v2_0/payment\", headers, params, details)\n\n          return this.makeRequest(\"post\", \"/v2_0/payment\", headers, params)\n        }\n\n\n        /**\n        * This operation is used to get the status of a Payment. X-Reference-Id that was passed in the post is used as reference to the request\n        */\n        getPaymentStatus(params: IHashMapGeneric<string> = {}, headers: IHashMapGeneric<string> = {}){\n          headers = {...this.headers, ...headers}\n\n          const details = {\"parameters\":[{\"name\":\"x-referenceId\",\"in\":\"path\",\"description\":\"UUID of transaction to get result. Reference id  used when creating the Payment.\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Authentication Token generated using CreateAccessToken API Call\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}}]} as OpenAPIV3.OperationObject\n\n          this.validateParameters(\"get\", \"/v2_0/payment/{x-referenceId}\", headers, params, details)\n\n          return this.makeRequest(\"get\", \"/v2_0/payment/{x-referenceId}\", headers, params)\n        }\n\n\n      }\n      \n\n      const DisbursementScheam: OpenAPIV3.Document = {\"openapi\":\"3.0.1\",\"info\":{\"title\":\"Disbursements\",\"description\":\"Automatically deposit funds to multiple users\",\"version\":\"1.0\"},\"servers\":[{\"url\":\"https://sandbox.momodeveloper.mtn.com/disbursement\"}],\"paths\":{\"/v1_0/account/balance\":{\"get\":{\"summary\":\"GetAccountBalance\",\"description\":\"Get the balance of own account.\",\"operationId\":\"GetAccountBalance\",\"parameters\":[{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Authentication Token generated using CreateAccessToken API Call\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"Ok\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/Balance\"},\"example\":{\"availableBalance\":\"string\",\"currency\":\"string\"}},\"Incorrect target environment\":{\"schema\":{\"$ref\":\"#/components/schemas/Balance\"},\"examples\":{\"default\":{\"value\":null}}}}},\"400\":{\"description\":\"Bad request, e.g. invalid data was sent in the request.\",\"content\":{\"application/json\":{},\"Incorrect target environment\":{}}},\"500\":{\"description\":\"Internal error. The returned response contains details.\",\"content\":{\"Incorrect target environment\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"NOT_ALLOWED_TARGET_ENVIRONMENT\",\"message\":\"Access to target environment is forbidden.\"}},\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"PAYEE_NOT_FOUND\",\"message\":\"string\"}}}}}}},\"/v1_0/accountholder/{accountHolderIdType}/{accountHolderId}/active\":{\"get\":{\"summary\":\"ValidateAccountHolderStatus\",\"description\":\"Operation is used  to check if an account holder is registered and active in the system.\",\"operationId\":\"ValidateAccountHolderStatus\",\"parameters\":[{\"name\":\"accountHolderId\",\"in\":\"path\",\"description\":\"The AccountHolder number. Validated according to the AccountHolderID type. <br> MSISDN - Mobile Number validated according to ITU-T E.164. Validated with IsMSISDN<br> EMAIL - Validated to be a valid e-mail format. Validated with IsEmail\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"accountHolderIdType\",\"in\":\"path\",\"description\":\"Specifies the type of the AccountHolderID. Allowed values [msisdn, email]\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Authentication Token generated using CreateAccessToken API Call\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"Ok. True if account holder is registered and active, false if the account holder is not active or not found found\",\"content\":{\"Incorrect target environment\":{}}},\"400\":{\"description\":\"Bad request, e.g. invalid data was sent in the request.\",\"content\":{\"Incorrect target environment\":{}}},\"500\":{\"description\":\"Internal error. The returned response contains details.\",\"content\":{\"Incorrect target environment\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"NOT_ALLOWED_TARGET_ENVIRONMENT\",\"message\":\"Access to target environment is forbidden.\"}}}}}}},\"/v1_0/transfer/{referenceId}\":{\"get\":{\"summary\":\"GetTransferStatus\",\"description\":\"This operation is used to get the status of a transfer. X-Reference-Id that was passed in the post is used as reference to the request.\",\"operationId\":\"GetTransferStatus\",\"parameters\":[{\"name\":\"referenceId\",\"in\":\"path\",\"description\":\"UUID of transaction to get result. Reference id  used when creating the Transfer.\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Authentication Token generated using CreateAccessToken API Call\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"OK. Note that a failed transfer will be returned with this status too. The 'status' of the TransferResult can be used to determine the outcome of the request. The 'reason' field can be used to retrieve a cause in case of failure.\",\"content\":{\"Successful transfer\":{\"schema\":{\"$ref\":\"#/components/schemas/TransferResult\"},\"example\":{\"amount\":100,\"currency\":\"UGX\",\"financialTransactionId\":363440463,\"externalId\":83453,\"payee\":{\"partyIdType\":\"MSISDN\",\"partyId\":4609274685},\"status\":\"SUCCESSFUL\"}},\"Payer limit breached\":{\"schema\":{\"$ref\":\"#/components/schemas/TransferResult\"},\"example\":{\"amount\":100,\"currency\":\"UGX\",\"externalId\":83453,\"payee\":{\"partyIdType\":\"MSISDN\",\"partyId\":4609274685},\"status\":\"FAILED\",\"reason\":{\"code\":\"PAYER_LIMIT_REACHED\",\"message\":\"The payer's limit has been breached.\"}}},\"API user insufficient balance\":{\"schema\":{\"$ref\":\"#/components/schemas/TransferResult\"},\"example\":{\"amount\":100,\"currency\":\"UGX\",\"externalId\":83453,\"payee\":{\"partyIdType\":\"MSISDN\",\"partyId\":4609274685},\"status\":\"FAILED\",\"reason\":{\"code\":\"NOT_ENOUGH_FUNDS\",\"message\":\"The payer does not have enough funds.\"}}},\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/TransferResult\"},\"example\":{\"amount\":\"string\",\"currency\":\"string\",\"financialTransactionId\":\"string\",\"externalId\":\"string\",\"payee\":{\"partyIdType\":\"MSISDN\",\"partyId\":\"string\"},\"payerMessage\":\"string\",\"payeeNote\":\"string\",\"status\":\"PENDING\",\"reason\":{\"code\":\"PAYEE_NOT_FOUND\",\"message\":\"string\"}}},\"Transfer not found\":{\"schema\":{\"$ref\":\"#/components/schemas/TransferResult\"},\"examples\":{\"default\":{\"value\":null}}},\"Unspecified internal error\":{\"schema\":{\"$ref\":\"#/components/schemas/TransferResult\"},\"examples\":{\"default\":{\"value\":null}}}}},\"400\":{\"description\":\"Bad request, e.g. an incorrectly formatted reference id was provided.\",\"content\":{\"Successful transfer\":{},\"Payer limit breached\":{},\"API user insufficient balance\":{},\"application/json\":{},\"Transfer not found\":{},\"Unspecified internal error\":{}}},\"404\":{\"description\":\"Resource not found.\",\"content\":{\"Transfer not found\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"RESOURCE_NOT_FOUND\",\"message\":\"Requested resource was not found.\"}},\"Successful transfer\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}},\"Payer limit breached\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}},\"API user insufficient balance\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}},\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"PAYEE_NOT_FOUND\",\"message\":\"string\"}},\"Unspecified internal error\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}}}},\"500\":{\"description\":\"Internal Error. Note that if the retreieved transfer has failed, it will not cause this status to be returned. This status is only returned if the GET request itself fails.\",\"content\":{\"Unspecified internal error\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"INTERNAL_PROCESSING_ERROR\",\"message\":\"An internal error occurred while processing.\"}},\"Successful transfer\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}},\"Payer limit breached\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}},\"API user insufficient balance\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}},\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"PAYEE_NOT_FOUND\",\"message\":\"string\"}},\"Transfer not found\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}}}}}}},\"/v1_0/accountholder/msisdn/{accountHolderMSISDN}/basicuserinfo\":{\"get\":{\"summary\":\"GetBasicUserinfo\",\"description\":\"This operation returns personal information of the account holder. The operation does not need any consent by the account holder.\",\"operationId\":\"GetBasicUserinfo\",\"parameters\":[{\"name\":\"accountHolderMSISDN\",\"in\":\"path\",\"description\":\"MSISDN of the account holder. Mobile number validated according to ITU-T E.164.\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Authentication Token generated using CreateAccessToken API Call\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"OK\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/BasicUserInfoJsonResponse\"},\"example\":{\"given_name\":\"string\",\"family_name\":\"string\",\"birthdate\":\"string\",\"locale\":\"string\",\"gender\":\"string\",\"status\":\"string\"}}}},\"401\":{\"description\":\"Unauthorized\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/TokenPost401ApplicationJsonResponse\"},\"example\":{\"error\":\"string\"}}}},\"500\":{\"description\":\"Error\",\"content\":{\"application/json\":{}}}}}},\"/v1_0/bc-authorize\":{\"post\":{\"summary\":\"bc-authorize\",\"description\":\"This operation is used to claim a consent by the account holder for the requested scopes.\",\"operationId\":\"bc-authorize\",\"parameters\":[{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Basic authentication header containing API user ID and API key. Should be sent in as B64 encoded.\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Callback-Url\",\"in\":\"header\",\"description\":\"URL to the server where the callback should be sent.\",\"schema\":{\"type\":\"string\"}}],\"requestBody\":{\"content\":{\"application/x-www-form-urlencoded\":{\"schema\":{\"properties\":{\"scope\":{\"type\":\"string\"},\"login_hint\":{\"type\":\"string\"},\"access_type\":{\"enum\":[\"online\",\"offline\"],\"type\":\"string\"},\"consent_valid_in\":{\"type\":\"integer\"},\"client_notification_token\":{\"type\":\"string\"},\"scope_instruction\":{\"type\":\"string\"}}},\"example\":\"login_hint=ID:{msisdn}/MSISDN&scope={scope}&access_type={online/offline}\"}}},\"responses\":{\"200\":{\"description\":\"OK\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/bcauthorizeResponse\"},\"example\":{\"auth_req_id\":\"string\",\"interval\":0,\"expires_in\":0}}}}}}},\"/v1_0/account/balance/{currency}\":{\"get\":{\"summary\":\"GetAccountBalanceInSpecificCurrency\",\"description\":\"Get the balance of own account. Currency parameter passed in GET\",\"operationId\":\"GetAccountBalanceInSpecificCurrency\",\"parameters\":[{\"name\":\"currency\",\"in\":\"path\",\"description\":\"Should be in ISO4217 Currency\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Authentication Token generated using CreateAccessToken API Call\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"Ok\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/Balance\"},\"example\":{\"availableBalance\":\"string\",\"currency\":\"string\"}},\"Incorrect target environment\":{\"schema\":{\"$ref\":\"#/components/schemas/Balance\"},\"examples\":{\"default\":{\"value\":null}}}}},\"400\":{\"description\":\"Bad request, e.g. invalid data was sent in the request.\",\"content\":{\"application/json\":{},\"Incorrect target environment\":{}}},\"500\":{\"description\":\"Internal error. The returned response contains details.\",\"content\":{\"Incorrect target environment\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"NOT_ALLOWED_TARGET_ENVIRONMENT\",\"message\":\"Access to target environment is forbidden.\"}},\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"PAYEE_NOT_FOUND\",\"message\":\"string\"}}}}}}},\"/v1_0/deposit\":{\"post\":{\"summary\":\"Deposit-V1\",\"description\":\"deposit operation is used to deposit an amount from the owner’s account to a payee account.<br> Status of the transaction can be validated by using the GET /deposit/\\\\{referenceId\\\\}\",\"operationId\":\"Deposit-V1\",\"parameters\":[{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Authentication Token generated using CreateAccessToken API Call\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Callback-Url\",\"in\":\"header\",\"description\":\"(POST Method)URL to the server where the callback should be sent.\",\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Reference-Id\",\"in\":\"header\",\"description\":\"Format - UUID. Recource ID of the created ‘request-to-pay’ transaction. This ID is used for e.g. validating the status of the request. Universal Unique ID for the transaction generated using UUID version 4.\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"requestBody\":{\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/Transfer\"},\"example\":{\"amount\":\"string\",\"currency\":\"string\",\"externalId\":\"string\",\"payee\":{\"partyIdType\":\"MSISDN\",\"partyId\":\"string\"},\"payerMessage\":\"string\",\"payeeNote\":\"string\"}}}},\"responses\":{\"202\":{\"description\":\"Accepted\",\"content\":{\"application/json\":{},\"ReferenceId already in use\":{},\"Incorrect currency for target environment\":{}}},\"400\":{\"description\":\"Bad request, e.g. invalid data was sent in the request.\",\"content\":{\"application/json\":{},\"ReferenceId already in use\":{},\"Incorrect currency for target environment\":{}}},\"409\":{\"description\":\"Conflict, duplicated reference id\",\"content\":{\"ReferenceId already in use\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"RESOURCE_ALREADY_EXIST\",\"message\":\"Duplicated reference id. Creation of resource failed.\"}},\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"PAYEE_NOT_FOUND\",\"message\":\"string\"}},\"Incorrect currency for target environment\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}}}},\"500\":{\"description\":\"Internal Error.\",\"content\":{\"Incorrect currency for target environment\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"INVALID_CURRENCY\",\"message\":\"Currency not supported.\"}},\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"PAYEE_NOT_FOUND\",\"message\":\"string\"}},\"ReferenceId already in use\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}}}}}}},\"/v2_0/deposit\":{\"post\":{\"summary\":\"Deposit-V2\",\"description\":\"deposit operation is used to deposit an amount from the owner’s account to a payee account.<br> Status of the transaction can be validated by using the GET /deposit/\\\\{referenceId\\\\}\",\"operationId\":\"Deposit-V2\",\"parameters\":[{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Authentication Token generated using CreateAccessToken API Call\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Callback-Url\",\"in\":\"header\",\"description\":\"(PUT Method)URL to the server where the callback should be sent.\",\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Reference-Id\",\"in\":\"header\",\"description\":\"Format - UUID. Recource ID of the created ‘request-to-pay’ transaction. This ID is used for e.g. validating the status of the request. Universal Unique ID for the transaction generated using UUID version 4.\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"requestBody\":{\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/Transfer\"},\"example\":{\"amount\":\"string\",\"currency\":\"string\",\"externalId\":\"string\",\"payee\":{\"partyIdType\":\"MSISDN\",\"partyId\":\"string\"},\"payerMessage\":\"string\",\"payeeNote\":\"string\"}}}},\"responses\":{\"202\":{\"description\":\"Accepted\",\"content\":{\"application/json\":{},\"ReferenceId already in use\":{},\"Incorrect currency for target environment\":{}}},\"400\":{\"description\":\"Bad request, e.g. invalid data was sent in the request.\",\"content\":{\"application/json\":{},\"ReferenceId already in use\":{},\"Incorrect currency for target environment\":{}}},\"409\":{\"description\":\"Conflict, duplicated reference id\",\"content\":{\"ReferenceId already in use\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"RESOURCE_ALREADY_EXIST\",\"message\":\"Duplicated reference id. Creation of resource failed.\"}},\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"PAYEE_NOT_FOUND\",\"message\":\"string\"}},\"Incorrect currency for target environment\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}}}},\"500\":{\"description\":\"Internal Error.\",\"content\":{\"Incorrect currency for target environment\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"INVALID_CURRENCY\",\"message\":\"Currency not supported.\"}},\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"PAYEE_NOT_FOUND\",\"message\":\"string\"}},\"ReferenceId already in use\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}}}}}}},\"/v1_0/deposit/{referenceId}\":{\"get\":{\"summary\":\"GetDepositStatus\",\"description\":\"This operation is used to get the status of a deposit. X-Reference-Id that was passed in the post is used as reference to the request.\",\"operationId\":\"GetDepositStatus\",\"parameters\":[{\"name\":\"referenceId\",\"in\":\"path\",\"description\":\"UUID of transaction to get result. Reference id  used when creating the Deposit.\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Authentication Token generated using CreateAccessToken API Call\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"OK. Note that a failed transfer will be returned with this status too. The 'status' of the TransferResult can be used to determine the outcome of the request. The 'reason' field can be used to retrieve a cause in case of failure.\",\"content\":{\"Successful transfer\":{\"schema\":{\"$ref\":\"#/components/schemas/TransferResult\"},\"example\":{\"amount\":100,\"currency\":\"UGX\",\"financialTransactionId\":363440463,\"externalId\":83453,\"payee\":{\"partyIdType\":\"MSISDN\",\"partyId\":4609274685},\"status\":\"SUCCESSFUL\"}},\"Payer limit breached\":{\"schema\":{\"$ref\":\"#/components/schemas/TransferResult\"},\"example\":{\"amount\":100,\"currency\":\"UGX\",\"externalId\":83453,\"payee\":{\"partyIdType\":\"MSISDN\",\"partyId\":4609274685},\"status\":\"FAILED\",\"reason\":{\"code\":\"PAYER_LIMIT_REACHED\",\"message\":\"The payer's limit has been breached.\"}}},\"API user insufficient balance\":{\"schema\":{\"$ref\":\"#/components/schemas/TransferResult\"},\"example\":{\"amount\":100,\"currency\":\"UGX\",\"externalId\":83453,\"payee\":{\"partyIdType\":\"MSISDN\",\"partyId\":4609274685},\"status\":\"FAILED\",\"reason\":{\"code\":\"NOT_ENOUGH_FUNDS\",\"message\":\"The payer does not have enough funds.\"}}},\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/TransferResult\"},\"example\":{\"amount\":\"string\",\"currency\":\"string\",\"financialTransactionId\":\"string\",\"externalId\":\"string\",\"payee\":{\"partyIdType\":\"MSISDN\",\"partyId\":\"string\"},\"payerMessage\":\"string\",\"payeeNote\":\"string\",\"status\":\"PENDING\",\"reason\":{\"code\":\"PAYEE_NOT_FOUND\",\"message\":\"string\"}}},\"Transfer not found\":{\"schema\":{\"$ref\":\"#/components/schemas/TransferResult\"},\"examples\":{\"default\":{\"value\":null}}},\"Unspecified internal error\":{\"schema\":{\"$ref\":\"#/components/schemas/TransferResult\"},\"examples\":{\"default\":{\"value\":null}}}}},\"400\":{\"description\":\"Bad request, e.g. an incorrectly formatted reference id was provided.\",\"content\":{\"Successful transfer\":{},\"Payer limit breached\":{},\"API user insufficient balance\":{},\"application/json\":{},\"Transfer not found\":{},\"Unspecified internal error\":{}}},\"404\":{\"description\":\"Resource not found.\",\"content\":{\"Transfer not found\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"RESOURCE_NOT_FOUND\",\"message\":\"Requested resource was not found.\"}},\"Successful transfer\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}},\"Payer limit breached\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}},\"API user insufficient balance\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}},\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"PAYEE_NOT_FOUND\",\"message\":\"string\"}},\"Unspecified internal error\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}}}},\"500\":{\"description\":\"Internal Error. Note that if the retreieved transfer has failed, it will not cause this status to be returned. This status is only returned if the GET request itself fails.\",\"content\":{\"Unspecified internal error\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"INTERNAL_PROCESSING_ERROR\",\"message\":\"An internal error occurred while processing.\"}},\"Successful transfer\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}},\"Payer limit breached\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}},\"API user insufficient balance\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}},\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"PAYEE_NOT_FOUND\",\"message\":\"string\"}},\"Transfer not found\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}}}}}}},\"/v1_0/refund\":{\"post\":{\"summary\":\"Refund-V1\",\"description\":\"refund operation is used to refund an amount from the owner’s account to a payee account.<br> Status of the transaction can be validated by using the GET /refund/\\\\{referenceId\\\\}\",\"operationId\":\"Refund-V1\",\"parameters\":[{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Authentication Token generated using CreateAccessToken API Call\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Callback-Url\",\"in\":\"header\",\"description\":\"(POST Method)URL to the server where the callback should be sent.\",\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Reference-Id\",\"in\":\"header\",\"description\":\"Format - UUID.  This ID is used for e.g. validating the status of the request. Universal Unique ID for the transaction generated using UUID version 4.\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"requestBody\":{\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/Refund\"},\"example\":{\"amount\":\"string\",\"currency\":\"string\",\"externalId\":\"string\",\"payerMessage\":\"string\",\"payeeNote\":\"string\",\"referenceIdToRefund\":\"UUID-REQUEST-TO-PAY\"}}}},\"responses\":{\"202\":{\"description\":\"Accepted\",\"content\":{\"application/json\":{},\"ReferenceId already in use\":{},\"Incorrect currency for target environment\":{}}},\"400\":{\"description\":\"Bad request, e.g. invalid data was sent in the request.\",\"content\":{\"application/json\":{},\"ReferenceId already in use\":{},\"Incorrect currency for target environment\":{}}},\"409\":{\"description\":\"Conflict, duplicated reference id\",\"content\":{\"ReferenceId already in use\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"RESOURCE_ALREADY_EXIST\",\"message\":\"Duplicated reference id. Creation of resource failed.\"}},\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"PAYEE_NOT_FOUND\",\"message\":\"string\"}},\"Incorrect currency for target environment\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}}}},\"500\":{\"description\":\"Internal Error.\",\"content\":{\"Incorrect currency for target environment\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"INVALID_CURRENCY\",\"message\":\"Currency not supported.\"}},\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"PAYEE_NOT_FOUND\",\"message\":\"string\"}},\"ReferenceId already in use\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}}}}}}},\"/v2_0/refund\":{\"post\":{\"summary\":\"Refund-V2\",\"description\":\"refund operation is used to refund an amount from the owner’s account to a payee account.<br> Status of the transaction can be validated by using the GET /refund/\\\\{referenceId\\\\}\",\"operationId\":\"Refund-V2\",\"parameters\":[{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Authentication Token generated using CreateAccessToken API Call\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Callback-Url\",\"in\":\"header\",\"description\":\"(PUT Method)URL to the server where the callback should be sent.\",\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Reference-Id\",\"in\":\"header\",\"description\":\"Format - UUID.  This ID is used for e.g. validating the status of the request. Universal Unique ID for the transaction generated using UUID version 4.\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"requestBody\":{\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/Refund\"},\"example\":{\"amount\":\"string\",\"currency\":\"string\",\"externalId\":\"string\",\"payerMessage\":\"string\",\"payeeNote\":\"string\",\"referenceIdToRefund\":\"UUID-REQUEST-TO-PAY\"}}}},\"responses\":{\"202\":{\"description\":\"Accepted\",\"content\":{\"application/json\":{},\"ReferenceId already in use\":{},\"Incorrect currency for target environment\":{}}},\"400\":{\"description\":\"Bad request, e.g. invalid data was sent in the request.\",\"content\":{\"application/json\":{},\"ReferenceId already in use\":{},\"Incorrect currency for target environment\":{}}},\"409\":{\"description\":\"Conflict, duplicated reference id\",\"content\":{\"ReferenceId already in use\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"RESOURCE_ALREADY_EXIST\",\"message\":\"Duplicated reference id. Creation of resource failed.\"}},\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"PAYEE_NOT_FOUND\",\"message\":\"string\"}},\"Incorrect currency for target environment\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}}}},\"500\":{\"description\":\"Internal Error.\",\"content\":{\"Incorrect currency for target environment\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"INVALID_CURRENCY\",\"message\":\"Currency not supported.\"}},\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"PAYEE_NOT_FOUND\",\"message\":\"string\"}},\"ReferenceId already in use\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}}}}}}},\"/v1_0/refund/{referenceId}\":{\"get\":{\"summary\":\"GetRefundStatus\",\"description\":\"This operation is used to get the status of a refund. X-Reference-Id that was passed in the post is used as reference to the request.\",\"operationId\":\"GetRefundStatus\",\"parameters\":[{\"name\":\"referenceId\",\"in\":\"path\",\"description\":\"UUID of transaction to get result. Reference id  used when creating the Refund.\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Authentication Token generated using CreateAccessToken API Call\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"OK. Note that a failed transfer will be returned with this status too. The 'status' of the RefundResult can be used to determine the outcome of the request. The 'reason' field can be used to retrieve a cause in case of failure.\",\"content\":{\"Successful transfer\":{\"schema\":{\"$ref\":\"#/components/schemas/RefundResult\"},\"example\":{\"amount\":100,\"currency\":\"UGX\",\"financialTransactionId\":363440463,\"externalId\":83453,\"payee\":{\"partyIdType\":\"MSISDN\",\"partyId\":4609274685},\"status\":\"SUCCESSFUL\"}},\"Payer limit breached\":{\"schema\":{\"$ref\":\"#/components/schemas/RefundResult\"},\"example\":{\"amount\":100,\"currency\":\"UGX\",\"externalId\":83453,\"payee\":{\"partyIdType\":\"MSISDN\",\"partyId\":4609274685},\"status\":\"FAILED\",\"reason\":{\"code\":\"PAYER_LIMIT_REACHED\",\"message\":\"The payer's limit has been breached.\"}}},\"API user insufficient balance\":{\"schema\":{\"$ref\":\"#/components/schemas/RefundResult\"},\"example\":{\"amount\":100,\"currency\":\"UGX\",\"externalId\":83453,\"payee\":{\"partyIdType\":\"MSISDN\",\"partyId\":4609274685},\"status\":\"FAILED\",\"reason\":{\"code\":\"NOT_ENOUGH_FUNDS\",\"message\":\"The payer does not have enough funds.\"}}},\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/RefundResult\"},\"example\":{\"amount\":\"string\",\"currency\":\"string\",\"financialTransactionId\":\"string\",\"externalId\":\"string\",\"payee\":{\"partyIdType\":\"MSISDN\",\"partyId\":\"string\"},\"payerMessage\":\"string\",\"payeeNote\":\"string\",\"status\":\"PENDING\",\"reason\":{\"code\":\"PAYEE_NOT_FOUND\",\"message\":\"string\"}}},\"Transfer not found\":{\"schema\":{\"$ref\":\"#/components/schemas/RefundResult\"},\"examples\":{\"default\":{\"value\":null}}},\"Unspecified internal error\":{\"schema\":{\"$ref\":\"#/components/schemas/RefundResult\"},\"examples\":{\"default\":{\"value\":null}}}}},\"400\":{\"description\":\"Bad request, e.g. an incorrectly formatted reference id was provided.\",\"content\":{\"Successful transfer\":{},\"Payer limit breached\":{},\"API user insufficient balance\":{},\"application/json\":{},\"Transfer not found\":{},\"Unspecified internal error\":{}}},\"404\":{\"description\":\"Resource not found.\",\"content\":{\"Transfer not found\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"RESOURCE_NOT_FOUND\",\"message\":\"Requested resource was not found.\"}},\"Successful transfer\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}},\"Payer limit breached\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}},\"API user insufficient balance\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}},\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"PAYEE_NOT_FOUND\",\"message\":\"string\"}},\"Unspecified internal error\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}}}},\"500\":{\"description\":\"Internal Error. Note that if the retreieved transfer has failed, it will not cause this status to be returned. This status is only returned if the GET request itself fails.\",\"content\":{\"Unspecified internal error\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"INTERNAL_PROCESSING_ERROR\",\"message\":\"An internal error occurred while processing.\"}},\"Successful transfer\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}},\"Payer limit breached\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}},\"API user insufficient balance\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}},\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"PAYEE_NOT_FOUND\",\"message\":\"string\"}},\"Transfer not found\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}}}}}}},\"/oauth2/token/\":{\"post\":{\"summary\":\"CreateOauth2Token\",\"description\":\"This operation is used to claim a consent by the account holder for the requested scopes.\",\"operationId\":\"CreateOauth2Token\",\"parameters\":[{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Basic authentication header containing API user ID and API key. Should be sent in as B64 encoded.\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"requestBody\":{\"content\":{\"application/x-www-form-urlencoded\":{\"schema\":{\"properties\":{\"grant_type\":{\"type\":\"string\"},\"auth_req_id\":{\"type\":\"string\"},\"refresh_token\":{\"type\":\"string\"}}},\"example\":\"grant_type=urn:openid:params:grant-type:ciba&auth_req_id={auth_req_id}\"}}},\"responses\":{\"200\":{\"description\":\"OK\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/oauth2TokenResponse\"},\"example\":{\"access_token\":\"string\",\"token_type\":\"string\",\"expires_in\":0,\"scope\":\"string\",\"refresh_token\":\"string\",\"refresh_token_expired_in\":0}}}}}}},\"/oauth2/v1_0/userinfo\":{\"get\":{\"summary\":\"GetUserInfoWithConsent\",\"description\":\"This operation is used to claim a consent by the account holder for the requested scopes.\",\"operationId\":\"GetUserInfoWithConsent\",\"parameters\":[{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Token. Replace with a valid oauth2 token received from oauth2 token endpoint in Wallet Platform.\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"OK\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/consentkycResponse\"},\"example\":{\"sub\":\"string\",\"name\":\"string\",\"given_name\":\"string\",\"family_name\":\"string\",\"middle_name\":\"string\",\"email\":\"string\",\"email_verified\":true,\"gender\":\"string\",\"locale\":\"string\",\"phone_number\":\"string\",\"phone_number_verified\":true,\"address\":\"string\",\"updated_at\":0,\"status\":\"string\",\"birthdate\":\"string\",\"credit_score\":\"string\",\"active\":true,\"country_of_birth\":\"string\",\"region_of_birth\":\"string\",\"city_of_birth\":\"string\",\"occupation\":\"string\",\"employer_name\":\"string\",\"identification_type\":\"string\",\"identification_value\":\"string\"}}}}}}},\"/token/\":{\"post\":{\"summary\":\"CreateAccessToken\",\"description\":\"This operation is used to create an access token which can then be used to authorize and authenticate towards the other end-points of the API.\",\"operationId\":\"CreateAccessToken\",\"parameters\":[{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Basic authentication header containing API user ID and API key. Should be sent in as B64 encoded.\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"OK\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/TokenPost200ApplicationJsonResponse\"},\"example\":{\"access_token\":\"string\",\"token_type\":\"string\",\"expires_in\":0}}}},\"401\":{\"description\":\"Unauthorized\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/TokenPost401ApplicationJsonResponse\"},\"example\":{\"error\":\"string\"}}}},\"500\":{\"description\":\"Error\",\"content\":{\"application/json\":{}}}}}},\"/v1_0/transfer\":{\"post\":{\"summary\":\"Transfer\",\"description\":\"Transfer operation is used to transfer an amount from the own account to a payee account.<br> Status of the transaction can validated by using the GET /transfer/\\\\{referenceId\\\\}\",\"operationId\":\"Transfer\",\"parameters\":[{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Authentication Token generated using CreateAccessToken API Call\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Callback-Url\",\"in\":\"header\",\"description\":\"URL to the server where the callback should be sent.\",\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Reference-Id\",\"in\":\"header\",\"description\":\"Format - UUID. Recource ID of the created request to pay transaction. This ID is used, for example validating the status of the request. ‘Universal Unique ID’ for the transaction generated using UUID version 4.\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"requestBody\":{\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/Transfer\"},\"example\":{\"amount\":\"string\",\"currency\":\"string\",\"externalId\":\"string\",\"payee\":{\"partyIdType\":\"MSISDN\",\"partyId\":\"string\"},\"payerMessage\":\"string\",\"payeeNote\":\"string\"}}}},\"responses\":{\"202\":{\"description\":\"Accepted\",\"content\":{\"application/json\":{},\"ReferenceId already in use\":{},\"Incorrect currency for target environment\":{}}},\"400\":{\"description\":\"Bad request, e.g. invalid data was sent in the request.\",\"content\":{\"application/json\":{},\"ReferenceId already in use\":{},\"Incorrect currency for target environment\":{}}},\"409\":{\"description\":\"Conflict, duplicated reference id\",\"content\":{\"ReferenceId already in use\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"RESOURCE_ALREADY_EXIST\",\"message\":\"Duplicated reference id. Creation of resource failed.\"}},\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"PAYEE_NOT_FOUND\",\"message\":\"string\"}},\"Incorrect currency for target environment\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}}}},\"500\":{\"description\":\"Internal Error.\",\"content\":{\"Incorrect currency for target environment\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"INVALID_CURRENCY\",\"message\":\"Currency not supported.\"}},\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"PAYEE_NOT_FOUND\",\"message\":\"string\"}},\"ReferenceId already in use\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}}}}}}}},\"components\":{\"schemas\":{\"bcauthorize\":{\"type\":\"object\",\"properties\":{\"scope\":{\"type\":\"string\",\"description\":\"Space separated list of scopes.\"},\"login_hint\":{\"type\":\"string\",\"description\":\"The identity of the account holder.\"},\"access_type\":{\"enum\":[\"online\",\"offline\"],\"type\":\"string\",\"description\":\"Value either online, or offline.\"},\"consent_valid_in\":{\"type\":\"integer\",\"description\":\"The validity time of the consent in secondsThis parameter can only be used together with access type offline.\"},\"client_notification_token\":{\"type\":\"string\",\"description\":\"This token is required when the client is using Ping or Push mode.\"},\"scope_instruction\":{\"type\":\"string\",\"description\":\"Base64 encoded Instrcution of the financial transaction.\"}}},\"bcauthorizeResponse\":{\"type\":\"object\",\"properties\":{\"auth_req_id\":{\"type\":\"string\",\"description\":\"Authentication request ID as an UUID.\"},\"interval\":{\"type\":\"number\",\"description\":\"Indicates how long time the client should wait between retries towards the endpoint /oauth2/token.\"},\"expires_in\":{\"type\":\"number\",\"description\":\"Shows when the authentication request ID expires, in seconds.\"}}},\"BasicUserInfoJsonResponse\":{\"type\":\"object\",\"properties\":{\"given_name\":{\"type\":\"string\",\"description\":\"Given name(s) or first name(s) of the End-User. Note that in some cultures, people can have multiple given names; all can be present, with the names being separated by space characters.\"},\"family_name\":{\"type\":\"string\",\"description\":\"Surname(s) or last name(s) of the End-User. Note that in some cultures, people can have multiple family names or no family name; all can be present, with the names being separated by space characters.\"},\"birthdate\":{\"type\":\"string\",\"description\":\"Account holder birth date.\"},\"locale\":{\"type\":\"string\",\"description\":\"End-User's locale, represented as a  BCP47 [RFC5646] language tag. This is typically an  ISO 639-1 Alpha-2 [ISO639�|�1] language code in lowercase and an  ISO 3166-1 Alpha-2 [ISO3166�|�1] country code in uppercase, separated by a dash. For example,  en-US or  fr-CA. As a compatibility note, some implementations have used an underscore as the separator rather than a dash, for example,  en_US; Relying Parties may choose to accept this locale syntax as well.\"},\"gender\":{\"type\":\"string\",\"description\":\"End-User's gender. Values defined by this specification are female and male. Other values may be used when neither of the defined values are applicable.\"},\"status\":{\"type\":\"string\",\"description\":\"Accountholder status.\"}}},\"TokenPost200ApplicationJsonResponse\":{\"type\":\"object\",\"properties\":{\"access_token\":{\"type\":\"string\",\"description\":\"A JWT token which can be used to authrize against the other API end-points. The format of the token follows the JWT standard format (see jwt.io for an example). This is the token that should be sent in in the Authorization header when calling the other API end-points.\"},\"token_type\":{\"type\":\"string\",\"description\":\"The token type.\"},\"expires_in\":{\"type\":\"integer\",\"description\":\"The validity time in seconds of the token.\"}}},\"oauth2TokenRequest\":{\"type\":\"object\",\"properties\":{\"grant_type\":{\"type\":\"string\",\"description\":\"Value ca be either \\\"urn:openid:params:grant-type:ciba\\\" or refresh_token\"},\"auth_req_id\":{\"type\":\"string\",\"description\":\"Authentication request ID.Value is only mandatory if grant_type is \\\"urn:openid:params:grant-type:ciba\\\"\"},\"refresh_token\":{\"type\":\"string\",\"description\":\"UUID.Refresh token retrieved from oauth2 token endpoint for consents with grant_type offline. This parameter is only valid if grant_type is refresh_token.\"}}},\"oauth2TokenResponse\":{\"type\":\"object\",\"properties\":{\"access_token\":{\"type\":\"string\",\"description\":\"Oauth2 JWT access token.The generated token is valid 3600 seconds as default.\"},\"token_type\":{\"type\":\"string\",\"description\":\"Value is Bearer\"},\"expires_in\":{\"type\":\"number\",\"description\":\"Shows when the authentication request ID expires, in seconds.\"},\"scope\":{\"type\":\"string\",\"description\":\"List of scopes that belongs to the authentication request ID.\"},\"refresh_token\":{\"type\":\"string\",\"description\":\"UUID of the refresh_token\"},\"refresh_token_expired_in\":{\"type\":\"integer\",\"description\":\"The time in seconds until the consent can no longer be refreshed. Based on the default value for consent validity, or the value set to parameter consent_valid_in sent in the bc-authorize request.\"}}},\"consentkycResponse\":{\"type\":\"object\",\"properties\":{\"sub\":{\"type\":\"string\",\"description\":\"Subject - Identifier for the End-User at the Issuer.\"},\"name\":{\"type\":\"string\",\"description\":\"End-User's full name in displayable form including all name parts.\"},\"given_name\":{\"type\":\"string\",\"description\":\"Given name(s) or first name(s) of the End-User.\"},\"family_name\":{\"type\":\"string\",\"description\":\"Surname(s) or last name(s) of the End-User.\"},\"middle_name\":{\"type\":\"string\",\"description\":\"Middle name(s) of the End-User.\"},\"email\":{\"type\":\"string\",\"description\":\"End-User's preferred e-mail address. Its value MUST conform to the  RFC 5322 [RFC5322] address specification syntax.\"},\"email_verified\":{\"type\":\"boolean\",\"description\":\"The response value is True if the End-User's e-mail address has been verified;otherwise false.\"},\"gender\":{\"type\":\"string\",\"description\":\"End-User's gender.\"},\"locale\":{\"type\":\"string\",\"description\":\"Preffered language.\"},\"phone_number\":{\"type\":\"string\",\"description\":\"End-User's preferred telephone number\"},\"phone_number_verified\":{\"type\":\"boolean\",\"description\":\"The response value is True if the End-User's phone number has been verified; otherwise false.\"},\"address\":{\"type\":\"string\",\"description\":\"User Address\"},\"updated_at\":{\"type\":\"number\",\"description\":\"The time the End-User's information was last updated.\"},\"status\":{\"type\":\"string\",\"description\":\"Account holder status.\"},\"birthdate\":{\"type\":\"string\",\"description\":\"The birth date of the account holder.\"},\"credit_score\":{\"type\":\"string\",\"description\":\"The credit score of the account holder.\"},\"active\":{\"type\":\"boolean\",\"description\":\"The status of the account holder.\"},\"country_of_birth\":{\"type\":\"string\",\"description\":\"Account holder country of birth.\"},\"region_of_birth\":{\"type\":\"string\",\"description\":\"The birth region of the account holder.\"},\"city_of_birth\":{\"type\":\"string\",\"description\":\"The city of birth for the account holder.\"},\"occupation\":{\"type\":\"string\",\"description\":\"Occupation of the account holder.\"},\"employer_name\":{\"type\":\"string\",\"description\":\"The name of the employer.\"},\"identification_type\":{\"type\":\"string\",\"description\":\"Type of identification.The first non-expired identification is always chosen.\"},\"identification_value\":{\"type\":\"string\",\"description\":\"The value of the identification.\"}}},\"address\":{\"type\":\"object\",\"properties\":{\"formatted\":{\"type\":\"string\",\"description\":\"Full mailing address, formatted for display or use on a mailing label. This field may contain multiple lines, separated by newlines.\"},\"street_address\":{\"type\":\"string\",\"description\":\"Full street address component, which may include house number, street name, Post Office Box, and multi-line extended street address information.\"},\"locality\":{\"type\":\"string\",\"description\":\"City or locality component.\"},\"region\":{\"type\":\"string\",\"description\":\"State, province, prefecture, or region component.\"},\"postal_code\":{\"type\":\"string\",\"description\":\"Zip code or postal code component.\"},\"country\":{\"type\":\"string\",\"description\":\"Country name component.\"}}},\"TokenPost401ApplicationJsonResponse\":{\"type\":\"object\",\"properties\":{\"error\":{\"type\":\"string\",\"description\":\"An error code.\"}}},\"Balance\":{\"type\":\"object\",\"properties\":{\"availableBalance\":{\"type\":\"string\",\"description\":\"The available balance of the account\"},\"currency\":{\"type\":\"string\",\"description\":\"ISO4217 Currency\"}},\"description\":\"The available balance of the account\"},\"Party\":{\"type\":\"object\",\"properties\":{\"partyIdType\":{\"enum\":[\"MSISDN\",\"EMAIL\",\"PARTY_CODE\"],\"type\":\"string\"},\"partyId\":{\"type\":\"string\"}},\"description\":\"Party identifies a account holder in the wallet platform. Party consists of two parameters, type and partyId. Each type have its own validation of the partyId<br> MSISDN - Mobile Number validated according to ITU-T E.164. Validated with IsMSISDN<br> EMAIL - Validated to be a valid e-mail format. Validated with IsEmail<br> PARTY_CODE - UUID of the party. Validated with IsUuid\"},\"PreApproval\":{\"type\":\"object\",\"properties\":{\"payer\":{\"$ref\":\"#/components/schemas/Party\"},\"payerCurrency\":{\"type\":\"string\",\"description\":\"ISO4217 Currency\"},\"payerMessage\":{\"type\":\"string\",\"description\":\"The mesage that is shown to the approver.\"},\"validityTime\":{\"type\":\"integer\",\"description\":\"The request validity time of the pre-approval\"}}},\"PreApprovalResult\":{\"type\":\"object\",\"properties\":{\"payer\":{\"$ref\":\"#/components/schemas/Party\"},\"payerCurrency\":{\"type\":\"string\",\"description\":\"ISO4217 Currency\"},\"payerMessage\":{\"type\":\"string\",\"description\":\"The mesage that is shown to the approver.\"},\"validityTime\":{\"type\":\"integer\",\"description\":\"The request validity time of the pre-approval\"},\"status\":{\"enum\":[\"PENDING\",\"SUCCESSFUL\",\"FAILED\"],\"type\":\"string\"},\"reason\":{\"$ref\":\"#/components/schemas/ErrorReason\"}}},\"RequestToPay\":{\"type\":\"object\",\"properties\":{\"amount\":{\"type\":\"string\",\"description\":\"Amount that will be debited from the payer account.\"},\"currency\":{\"type\":\"string\",\"description\":\"ISO4217 Currency\"},\"externalId\":{\"type\":\"string\",\"description\":\"External id is used as a reference to the transaction. External id is used for reconciliation. The external id will be included in transaction history report. <br>External id is not required to be unique.\"},\"payer\":{\"$ref\":\"#/components/schemas/Party\"},\"payerMessage\":{\"type\":\"string\",\"description\":\"Message that will be written in the payer transaction history message field.\"},\"payeeNote\":{\"type\":\"string\",\"description\":\"Message that will be written in the payee transaction history note field.\"}}},\"RequestToPayResult\":{\"type\":\"object\",\"properties\":{\"amount\":{\"type\":\"string\",\"description\":\"Amount that will be debited from the payer account.\"},\"currency\":{\"type\":\"string\",\"description\":\"ISO4217 Currency\"},\"financialTransactionId\":{\"type\":\"string\",\"description\":\"Financial transactionIdd from mobile money manager.<br> Used to connect to the specific financial transaction made in the account\"},\"externalId\":{\"type\":\"string\",\"description\":\"External id provided in the creation of the requestToPay transaction.\"},\"payer\":{\"$ref\":\"#/components/schemas/Party\"},\"payerMessage\":{\"type\":\"string\",\"description\":\"Message that will be written in the payer transaction history message field.\"},\"payeeNote\":{\"type\":\"string\",\"description\":\"Message that will be written in the payee transaction history note field.\"},\"status\":{\"enum\":[\"PENDING\",\"SUCCESSFUL\",\"FAILED\"],\"type\":\"string\"},\"reason\":{\"$ref\":\"#/components/schemas/ErrorReason\"}}},\"Transfer\":{\"type\":\"object\",\"properties\":{\"amount\":{\"type\":\"string\",\"description\":\"Amount that will be debited from the payer account.\"},\"currency\":{\"type\":\"string\",\"description\":\"ISO4217 Currency\"},\"externalId\":{\"type\":\"string\",\"description\":\"External id is used as a reference to the transaction. External id is used for reconciliation. The external id will be included in transaction history report. <br>External id is not required to be unique.\"},\"payee\":{\"$ref\":\"#/components/schemas/Party\"},\"payerMessage\":{\"type\":\"string\",\"description\":\"Message that will be written in the payer transaction history message field.\"},\"payeeNote\":{\"type\":\"string\",\"description\":\"Message that will be written in the payee transaction history note field.\"}}},\"TransferResult\":{\"type\":\"object\",\"properties\":{\"amount\":{\"type\":\"string\",\"description\":\"Amount that will be debited from the payer account.\"},\"currency\":{\"type\":\"string\",\"description\":\"ISO4217 Currency\"},\"financialTransactionId\":{\"type\":\"string\",\"description\":\"Financial transactionIdd from mobile money manager.<br> Used to connect to the specific financial transaction made in the account\"},\"externalId\":{\"type\":\"string\",\"description\":\"External id is used as a reference to the transaction. External id is used for reconciliation. The external id will be included in transaction history report. <br>External id is not required to be unique.\"},\"payee\":{\"$ref\":\"#/components/schemas/Party\"},\"payerMessage\":{\"type\":\"string\",\"description\":\"Message that will be written in the payer transaction history message field.\"},\"payeeNote\":{\"type\":\"string\",\"description\":\"Message that will be written in the payee transaction history note field.\"},\"status\":{\"enum\":[\"PENDING\",\"SUCCESSFUL\",\"FAILED\"],\"type\":\"string\"},\"reason\":{\"$ref\":\"#/components/schemas/ErrorReason\"}}},\"deliverynotification\":{\"type\":\"object\",\"properties\":{\"notificationMessage\":{\"type\":\"string\"}}},\"Refund\":{\"type\":\"object\",\"properties\":{\"amount\":{\"type\":\"string\",\"description\":\"Amount that will be debited from the payer account.\"},\"currency\":{\"type\":\"string\",\"description\":\"ISO4217 Currency\"},\"externalId\":{\"type\":\"string\",\"description\":\"External id is used as a reference to the transaction. External id is used for reconciliation. The external id will be included in transaction history report. <br>External id is not required to be unique.\"},\"payerMessage\":{\"type\":\"string\",\"description\":\"Message that will be written in the payer transaction history message field.\"},\"payeeNote\":{\"type\":\"string\",\"description\":\"Message that will be written in the payee transaction history note field.\"},\"referenceIdToRefund\":{\"type\":\"string\",\"description\":\"Format - UUID. Recource ID of the created refund transaction. This ID is used, for example, validating the status of the‘ ’transaction generated using UUID version 4.\"}}},\"RefundResult\":{\"type\":\"object\",\"properties\":{\"amount\":{\"type\":\"string\",\"description\":\"Amount that will be debited from the payer account.\"},\"currency\":{\"type\":\"string\",\"description\":\"ISO4217 Currency\"},\"financialTransactionId\":{\"type\":\"string\",\"description\":\"Financial transactionIdd from mobile money manager.<br> Used to connect to the specific financial transaction made in the account\"},\"externalId\":{\"type\":\"string\",\"description\":\"External id is used as a reference to the transaction. External id is used for reconciliation. The external id will be included in transaction history report. <br>External id is not required to be unique.\"},\"payee\":{\"$ref\":\"#/components/schemas/Party\"},\"payerMessage\":{\"type\":\"string\",\"description\":\"Message that will be written in the payer transaction history message field.\"},\"payeeNote\":{\"type\":\"string\",\"description\":\"Message that will be written in the payee transaction history note field.\"},\"status\":{\"enum\":[\"PENDING\",\"SUCCESSFUL\",\"FAILED\"],\"type\":\"string\"},\"reason\":{\"$ref\":\"#/components/schemas/ErrorReason\"}}},\"ErrorReason\":{\"type\":\"object\",\"properties\":{\"code\":{\"enum\":[\"PAYEE_NOT_FOUND\",\"PAYER_NOT_FOUND\",\"NOT_ALLOWED\",\"NOT_ALLOWED_TARGET_ENVIRONMENT\",\"INVALID_CALLBACK_URL_HOST\",\"INVALID_CURRENCY\",\"SERVICE_UNAVAILABLE\",\"INTERNAL_PROCESSING_ERROR\",\"NOT_ENOUGH_FUNDS\",\"PAYER_LIMIT_REACHED\",\"PAYEE_NOT_ALLOWED_TO_RECEIVE\",\"PAYMENT_NOT_APPROVED\",\"RESOURCE_NOT_FOUND\",\"APPROVAL_REJECTED\",\"EXPIRED\",\"TRANSACTION_CANCELED\",\"RESOURCE_ALREADY_EXIST\"],\"type\":\"string\"},\"message\":{\"type\":\"string\"}}},\"BooleanResult\":{\"type\":\"object\",\"properties\":{\"result\":{\"type\":\"boolean\"}}}},\"securitySchemes\":{\"apiKeyHeader\":{\"type\":\"apiKey\",\"name\":\"Ocp-Apim-Subscription-Key\",\"in\":\"header\"},\"apiKeyQuery\":{\"type\":\"apiKey\",\"name\":\"subscription-key\",\"in\":\"query\"}}},\"security\":[{\"apiKeyHeader\":[]},{\"apiKeyQuery\":[]}]}\n      /**\n      * Automatically deposit funds to multiple users\n      */\n      export class Disbursement extends Client {\n        constructor({\n          schema = DisbursementScheam,\n          base_url = \"https://sandbox.momodeveloper.mtn.com/disbursement\",\n          headers = {},\n        }: {\n          base_url?: string;\n          schema?: OpenAPIV3.Document;\n          headers?: IHashMapGeneric<string>;\n        } = {}) {\n          super({ schema, base_url, headers });\n        }\n\n        \n        /**\n        * Get the balance of own account.\n        */\n        getAccountBalance(params: IHashMapGeneric<string> = {}, headers: IHashMapGeneric<string> = {}){\n          headers = {...this.headers, ...headers}\n\n          const details = {\"parameters\":[{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Authentication Token generated using CreateAccessToken API Call\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}}]} as OpenAPIV3.OperationObject\n\n          this.validateParameters(\"get\", \"/v1_0/account/balance\", headers, params, details)\n\n          return this.makeRequest(\"get\", \"/v1_0/account/balance\", headers, params)\n        }\n\n\n        /**\n        * Operation is used  to check if an account holder is registered and active in the system.\n        */\n        validateAccountHolderStatus(params: IHashMapGeneric<string> = {}, headers: IHashMapGeneric<string> = {}){\n          headers = {...this.headers, ...headers}\n\n          const details = {\"parameters\":[{\"name\":\"accountHolderId\",\"in\":\"path\",\"description\":\"The AccountHolder number. Validated according to the AccountHolderID type. <br> MSISDN - Mobile Number validated according to ITU-T E.164. Validated with IsMSISDN<br> EMAIL - Validated to be a valid e-mail format. Validated with IsEmail\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"accountHolderIdType\",\"in\":\"path\",\"description\":\"Specifies the type of the AccountHolderID. Allowed values [msisdn, email]\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Authentication Token generated using CreateAccessToken API Call\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}}]} as OpenAPIV3.OperationObject\n\n          this.validateParameters(\"get\", \"/v1_0/accountholder/{accountHolderIdType}/{accountHolderId}/active\", headers, params, details)\n\n          return this.makeRequest(\"get\", \"/v1_0/accountholder/{accountHolderIdType}/{accountHolderId}/active\", headers, params)\n        }\n\n\n        /**\n        * This operation is used to get the status of a transfer. X-Reference-Id that was passed in the post is used as reference to the request.\n        */\n        getTransferStatus(params: IHashMapGeneric<string> = {}, headers: IHashMapGeneric<string> = {}){\n          headers = {...this.headers, ...headers}\n\n          const details = {\"parameters\":[{\"name\":\"referenceId\",\"in\":\"path\",\"description\":\"UUID of transaction to get result. Reference id  used when creating the Transfer.\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Authentication Token generated using CreateAccessToken API Call\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}}]} as OpenAPIV3.OperationObject\n\n          this.validateParameters(\"get\", \"/v1_0/transfer/{referenceId}\", headers, params, details)\n\n          return this.makeRequest(\"get\", \"/v1_0/transfer/{referenceId}\", headers, params)\n        }\n\n\n        /**\n        * This operation returns personal information of the account holder. The operation does not need any consent by the account holder.\n        */\n        getBasicUserinfo(params: IHashMapGeneric<string> = {}, headers: IHashMapGeneric<string> = {}){\n          headers = {...this.headers, ...headers}\n\n          const details = {\"parameters\":[{\"name\":\"accountHolderMSISDN\",\"in\":\"path\",\"description\":\"MSISDN of the account holder. Mobile number validated according to ITU-T E.164.\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Authentication Token generated using CreateAccessToken API Call\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}}]} as OpenAPIV3.OperationObject\n\n          this.validateParameters(\"get\", \"/v1_0/accountholder/msisdn/{accountHolderMSISDN}/basicuserinfo\", headers, params, details)\n\n          return this.makeRequest(\"get\", \"/v1_0/accountholder/msisdn/{accountHolderMSISDN}/basicuserinfo\", headers, params)\n        }\n\n\n        /**\n        * This operation is used to claim a consent by the account holder for the requested scopes.\n        */\n        bcAuthorize(params: IHashMapGeneric<string> = {}, headers: IHashMapGeneric<string> = {}){\n          headers = {...this.headers, ...headers}\n\n          const details = {\"parameters\":[{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Basic authentication header containing API user ID and API key. Should be sent in as B64 encoded.\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Callback-Url\",\"in\":\"header\",\"description\":\"URL to the server where the callback should be sent.\",\"schema\":{\"type\":\"string\"}}]} as OpenAPIV3.OperationObject\n\n          this.validateParameters(\"post\", \"/v1_0/bc-authorize\", headers, params, details)\n\n          return this.makeRequest(\"post\", \"/v1_0/bc-authorize\", headers, params)\n        }\n\n\n        /**\n        * Get the balance of own account. Currency parameter passed in GET\n        */\n        getAccountBalanceInSpecificCurrency(params: IHashMapGeneric<string> = {}, headers: IHashMapGeneric<string> = {}){\n          headers = {...this.headers, ...headers}\n\n          const details = {\"parameters\":[{\"name\":\"currency\",\"in\":\"path\",\"description\":\"Should be in ISO4217 Currency\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Authentication Token generated using CreateAccessToken API Call\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}}]} as OpenAPIV3.OperationObject\n\n          this.validateParameters(\"get\", \"/v1_0/account/balance/{currency}\", headers, params, details)\n\n          return this.makeRequest(\"get\", \"/v1_0/account/balance/{currency}\", headers, params)\n        }\n\n\n        /**\n        * deposit operation is used to deposit an amount from the owner’s account to a payee account.<br> Status of the transaction can be validated by using the GET /deposit/\\{referenceId\\}\n        */\n        depositV1(params: IHashMapGeneric<string> = {}, headers: IHashMapGeneric<string> = {}){\n          headers = {...this.headers, ...headers}\n\n          const details = {\"parameters\":[{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Authentication Token generated using CreateAccessToken API Call\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Callback-Url\",\"in\":\"header\",\"description\":\"(POST Method)URL to the server where the callback should be sent.\",\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Reference-Id\",\"in\":\"header\",\"description\":\"Format - UUID. Recource ID of the created ‘request-to-pay’ transaction. This ID is used for e.g. validating the status of the request. Universal Unique ID for the transaction generated using UUID version 4.\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}}]} as OpenAPIV3.OperationObject\n\n          this.validateParameters(\"post\", \"/v1_0/deposit\", headers, params, details)\n\n          return this.makeRequest(\"post\", \"/v1_0/deposit\", headers, params)\n        }\n\n\n        /**\n        * deposit operation is used to deposit an amount from the owner’s account to a payee account.<br> Status of the transaction can be validated by using the GET /deposit/\\{referenceId\\}\n        */\n        depositV2(params: IHashMapGeneric<string> = {}, headers: IHashMapGeneric<string> = {}){\n          headers = {...this.headers, ...headers}\n\n          const details = {\"parameters\":[{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Authentication Token generated using CreateAccessToken API Call\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Callback-Url\",\"in\":\"header\",\"description\":\"(PUT Method)URL to the server where the callback should be sent.\",\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Reference-Id\",\"in\":\"header\",\"description\":\"Format - UUID. Recource ID of the created ‘request-to-pay’ transaction. This ID is used for e.g. validating the status of the request. Universal Unique ID for the transaction generated using UUID version 4.\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}}]} as OpenAPIV3.OperationObject\n\n          this.validateParameters(\"post\", \"/v2_0/deposit\", headers, params, details)\n\n          return this.makeRequest(\"post\", \"/v2_0/deposit\", headers, params)\n        }\n\n\n        /**\n        * This operation is used to get the status of a deposit. X-Reference-Id that was passed in the post is used as reference to the request.\n        */\n        getDepositStatus(params: IHashMapGeneric<string> = {}, headers: IHashMapGeneric<string> = {}){\n          headers = {...this.headers, ...headers}\n\n          const details = {\"parameters\":[{\"name\":\"referenceId\",\"in\":\"path\",\"description\":\"UUID of transaction to get result. Reference id  used when creating the Deposit.\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Authentication Token generated using CreateAccessToken API Call\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}}]} as OpenAPIV3.OperationObject\n\n          this.validateParameters(\"get\", \"/v1_0/deposit/{referenceId}\", headers, params, details)\n\n          return this.makeRequest(\"get\", \"/v1_0/deposit/{referenceId}\", headers, params)\n        }\n\n\n        /**\n        * refund operation is used to refund an amount from the owner’s account to a payee account.<br> Status of the transaction can be validated by using the GET /refund/\\{referenceId\\}\n        */\n        refundV1(params: IHashMapGeneric<string> = {}, headers: IHashMapGeneric<string> = {}){\n          headers = {...this.headers, ...headers}\n\n          const details = {\"parameters\":[{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Authentication Token generated using CreateAccessToken API Call\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Callback-Url\",\"in\":\"header\",\"description\":\"(POST Method)URL to the server where the callback should be sent.\",\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Reference-Id\",\"in\":\"header\",\"description\":\"Format - UUID.  This ID is used for e.g. validating the status of the request. Universal Unique ID for the transaction generated using UUID version 4.\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}}]} as OpenAPIV3.OperationObject\n\n          this.validateParameters(\"post\", \"/v1_0/refund\", headers, params, details)\n\n          return this.makeRequest(\"post\", \"/v1_0/refund\", headers, params)\n        }\n\n\n        /**\n        * refund operation is used to refund an amount from the owner’s account to a payee account.<br> Status of the transaction can be validated by using the GET /refund/\\{referenceId\\}\n        */\n        refundV2(params: IHashMapGeneric<string> = {}, headers: IHashMapGeneric<string> = {}){\n          headers = {...this.headers, ...headers}\n\n          const details = {\"parameters\":[{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Authentication Token generated using CreateAccessToken API Call\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Callback-Url\",\"in\":\"header\",\"description\":\"(PUT Method)URL to the server where the callback should be sent.\",\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Reference-Id\",\"in\":\"header\",\"description\":\"Format - UUID.  This ID is used for e.g. validating the status of the request. Universal Unique ID for the transaction generated using UUID version 4.\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}}]} as OpenAPIV3.OperationObject\n\n          this.validateParameters(\"post\", \"/v2_0/refund\", headers, params, details)\n\n          return this.makeRequest(\"post\", \"/v2_0/refund\", headers, params)\n        }\n\n\n        /**\n        * This operation is used to get the status of a refund. X-Reference-Id that was passed in the post is used as reference to the request.\n        */\n        getRefundStatus(params: IHashMapGeneric<string> = {}, headers: IHashMapGeneric<string> = {}){\n          headers = {...this.headers, ...headers}\n\n          const details = {\"parameters\":[{\"name\":\"referenceId\",\"in\":\"path\",\"description\":\"UUID of transaction to get result. Reference id  used when creating the Refund.\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Authentication Token generated using CreateAccessToken API Call\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}}]} as OpenAPIV3.OperationObject\n\n          this.validateParameters(\"get\", \"/v1_0/refund/{referenceId}\", headers, params, details)\n\n          return this.makeRequest(\"get\", \"/v1_0/refund/{referenceId}\", headers, params)\n        }\n\n\n        /**\n        * This operation is used to claim a consent by the account holder for the requested scopes.\n        */\n        createOauth2token(params: IHashMapGeneric<string> = {}, headers: IHashMapGeneric<string> = {}){\n          headers = {...this.headers, ...headers}\n\n          const details = {\"parameters\":[{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Basic authentication header containing API user ID and API key. Should be sent in as B64 encoded.\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}}]} as OpenAPIV3.OperationObject\n\n          this.validateParameters(\"post\", \"/oauth2/token/\", headers, params, details)\n\n          return this.makeRequest(\"post\", \"/oauth2/token/\", headers, params)\n        }\n\n\n        /**\n        * This operation is used to claim a consent by the account holder for the requested scopes.\n        */\n        getUserInfoWithConsent(params: IHashMapGeneric<string> = {}, headers: IHashMapGeneric<string> = {}){\n          headers = {...this.headers, ...headers}\n\n          const details = {\"parameters\":[{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Token. Replace with a valid oauth2 token received from oauth2 token endpoint in Wallet Platform.\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}}]} as OpenAPIV3.OperationObject\n\n          this.validateParameters(\"get\", \"/oauth2/v1_0/userinfo\", headers, params, details)\n\n          return this.makeRequest(\"get\", \"/oauth2/v1_0/userinfo\", headers, params)\n        }\n\n\n        /**\n        * This operation is used to create an access token which can then be used to authorize and authenticate towards the other end-points of the API.\n        */\n        createAccessToken(params: IHashMapGeneric<string> = {}, headers: IHashMapGeneric<string> = {}){\n          headers = {...this.headers, ...headers}\n\n          const details = {\"parameters\":[{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Basic authentication header containing API user ID and API key. Should be sent in as B64 encoded.\",\"required\":true,\"schema\":{\"type\":\"string\"}}]} as OpenAPIV3.OperationObject\n\n          this.validateParameters(\"post\", \"/token/\", headers, params, details)\n\n          return this.makeRequest(\"post\", \"/token/\", headers, params)\n        }\n\n\n        /**\n        * Transfer operation is used to transfer an amount from the own account to a payee account.<br> Status of the transaction can validated by using the GET /transfer/\\{referenceId\\}\n        */\n        transfer(params: IHashMapGeneric<string> = {}, headers: IHashMapGeneric<string> = {}){\n          headers = {...this.headers, ...headers}\n\n          const details = {\"parameters\":[{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Authentication Token generated using CreateAccessToken API Call\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Callback-Url\",\"in\":\"header\",\"description\":\"URL to the server where the callback should be sent.\",\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Reference-Id\",\"in\":\"header\",\"description\":\"Format - UUID. Recource ID of the created request to pay transaction. This ID is used, for example validating the status of the request. ‘Universal Unique ID’ for the transaction generated using UUID version 4.\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}}]} as OpenAPIV3.OperationObject\n\n          this.validateParameters(\"post\", \"/v1_0/transfer\", headers, params, details)\n\n          return this.makeRequest(\"post\", \"/v1_0/transfer\", headers, params)\n        }\n\n\n      }\n      \n\n      const RemittanceScheam: OpenAPIV3.Document = {\"openapi\":\"3.0.1\",\"info\":{\"title\":\"Remittance\",\"description\":\"Remit funds to local recipients from the diaspora with ease\",\"version\":\"1.0\"},\"servers\":[{\"url\":\"https://sandbox.momodeveloper.mtn.com/remittance\"}],\"paths\":{\"/v1_0/account/balance\":{\"get\":{\"summary\":\"GetAccountBalance\",\"description\":\"Get the balance of own account.\",\"operationId\":\"GetAccountBalance\",\"parameters\":[{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Authentication Token generated using CreateAccessToken API Call\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"Ok\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/Balance\"},\"example\":{\"availableBalance\":\"string\",\"currency\":\"string\"}},\"Incorrect target environment\":{\"schema\":{\"$ref\":\"#/components/schemas/Balance\"},\"examples\":{\"default\":{\"value\":null}}}}},\"400\":{\"description\":\"Bad request, e.g. invalid data was sent in the request.\",\"content\":{\"application/json\":{},\"Incorrect target environment\":{}}},\"500\":{\"description\":\"Internal error. The returned response contains details.\",\"content\":{\"Incorrect target environment\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"NOT_ALLOWED_TARGET_ENVIRONMENT\",\"message\":\"Access to target environment is forbidden.\"}},\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"PAYEE_NOT_FOUND\",\"message\":\"string\"}}}}}}},\"/v1_0/accountholder/{accountHolderIdType}/{accountHolderId}/active\":{\"get\":{\"summary\":\"ValidateAccountHolderStatus\",\"description\":\"Operation is used  to check if an account holder is registered and active in the system.\",\"operationId\":\"ValidateAccountHolderStatus\",\"parameters\":[{\"name\":\"accountHolderId\",\"in\":\"path\",\"description\":\"The AccountHolder number that's Validated according to the AccountHolder ID type (case Sensitive)<br> msisdn - Mobile Number validated according to ITU-T E.164. Validated with IsMSISDN <br>email - Validated to be a valid e-mail format. Validated with IsEmail\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"accountHolderIdType\",\"in\":\"path\",\"description\":\"Specifies the type of the party id. Allowed values [msisdn, email, party_code].\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Authentication Token generated using CreateAccessToken API Call\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"Ok. True if account holder is registered and active, false if the account holder is not active or not found found\",\"content\":{\"Incorrect target environment\":{}}},\"400\":{\"description\":\"Bad request, e.g. invalid data was sent in the request.\",\"content\":{\"Incorrect target environment\":{}}},\"500\":{\"description\":\"Internal error. The returned response contains details.\",\"content\":{\"Incorrect target environment\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"NOT_ALLOWED_TARGET_ENVIRONMENT\",\"message\":\"Access to target environment is forbidden.\"}}}}}}},\"/v1_0/transfer\":{\"post\":{\"summary\":\"Transfer\",\"description\":\"Transfer operation is used to transfer an amount from the own account to a payee account.<br> Status of the transaction can validated by using the GET /transfer/\\\\{referenceId\\\\}\",\"operationId\":\"Transfer\",\"parameters\":[{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Authentication Token generated using CreateAccessToken API Call\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Callback-Url\",\"in\":\"header\",\"description\":\"URL to the server where the callback should be sent.\",\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Reference-Id\",\"in\":\"header\",\"description\":\"Format - UUID. Recource ID of the created request to pay transaction. This ID is used, for example validating the status of the request. ‘Universal Unique ID’ for the transaction generated using UUID version 4.\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"requestBody\":{\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/Transfer\"},\"example\":{\"amount\":\"string\",\"currency\":\"string\",\"externalId\":\"string\",\"payee\":{\"partyIdType\":\"MSISDN\",\"partyId\":\"string\"},\"payerMessage\":\"string\",\"payeeNote\":\"string\"}}}},\"responses\":{\"202\":{\"description\":\"Accepted\",\"content\":{\"application/json\":{},\"ReferenceId already in use\":{},\"Incorrect currency for target environment\":{}}},\"400\":{\"description\":\"Bad request, e.g. invalid data was sent in the request.\",\"content\":{\"application/json\":{},\"ReferenceId already in use\":{},\"Incorrect currency for target environment\":{}}},\"409\":{\"description\":\"Conflict, duplicated reference id\",\"content\":{\"ReferenceId already in use\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"RESOURCE_ALREADY_EXIST\",\"message\":\"Duplicated reference id. Creation of resource failed.\"}},\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"PAYEE_NOT_FOUND\",\"message\":\"string\"}},\"Incorrect currency for target environment\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}}}},\"500\":{\"description\":\"Internal Error.\",\"content\":{\"Incorrect currency for target environment\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"INVALID_CURRENCY\",\"message\":\"Currency not supported.\"}},\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"PAYEE_NOT_FOUND\",\"message\":\"string\"}},\"ReferenceId already in use\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}}}}}}},\"/v1_0/transfer/{referenceId}\":{\"get\":{\"summary\":\"GetTransferStatus\",\"description\":\"This operation is used to get the status of a transfer. X-Reference-Id that was passed in the post is used as reference to the request.\",\"operationId\":\"GetTransferStatus\",\"parameters\":[{\"name\":\"referenceId\",\"in\":\"path\",\"description\":\"UUID of transaction to get result. Reference id  used when creating the Transfer.\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Authentication Token generated using CreateAccessToken API Call\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"OK. Note that a failed transfer will be returned with this status too. The 'status' of the TransferResult can be used to determine the outcome of the request. The 'reason' field can be used to retrieve a cause in case of failure.\",\"content\":{\"Successful transfer\":{\"schema\":{\"$ref\":\"#/components/schemas/TransferResult\"},\"example\":{\"amount\":100,\"currency\":\"UGX\",\"financialTransactionId\":363440463,\"externalId\":83453,\"payee\":{\"partyIdType\":\"MSISDN\",\"partyId\":4609274685},\"status\":\"SUCCESSFUL\"}},\"Payer limit breached\":{\"schema\":{\"$ref\":\"#/components/schemas/TransferResult\"},\"example\":{\"amount\":100,\"currency\":\"UGX\",\"externalId\":83453,\"payee\":{\"partyIdType\":\"MSISDN\",\"partyId\":4609274685},\"status\":\"FAILED\",\"reason\":{\"code\":\"PAYER_LIMIT_REACHED\",\"message\":\"The payer's limit has been breached.\"}}},\"API user insufficient balance\":{\"schema\":{\"$ref\":\"#/components/schemas/TransferResult\"},\"example\":{\"amount\":100,\"currency\":\"UGX\",\"externalId\":83453,\"payee\":{\"partyIdType\":\"MSISDN\",\"partyId\":4609274685},\"status\":\"FAILED\",\"reason\":{\"code\":\"NOT_ENOUGH_FUNDS\",\"message\":\"The payer does not have enough funds.\"}}},\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/TransferResult\"},\"example\":{\"amount\":\"string\",\"currency\":\"string\",\"financialTransactionId\":\"string\",\"externalId\":\"string\",\"payee\":{\"partyIdType\":\"MSISDN\",\"partyId\":\"string\"},\"payerMessage\":\"string\",\"payeeNote\":\"string\",\"status\":\"PENDING\",\"reason\":{\"code\":\"PAYEE_NOT_FOUND\",\"message\":\"string\"}}},\"Transfer not found\":{\"schema\":{\"$ref\":\"#/components/schemas/TransferResult\"},\"examples\":{\"default\":{\"value\":null}}},\"Unspecified internal error\":{\"schema\":{\"$ref\":\"#/components/schemas/TransferResult\"},\"examples\":{\"default\":{\"value\":null}}}}},\"400\":{\"description\":\"Bad request, e.g. an incorrectly formatted reference id was provided.\",\"content\":{\"Successful transfer\":{},\"Payer limit breached\":{},\"API user insufficient balance\":{},\"application/json\":{},\"Transfer not found\":{},\"Unspecified internal error\":{}}},\"404\":{\"description\":\"Resource not found.\",\"content\":{\"Transfer not found\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"RESOURCE_NOT_FOUND\",\"message\":\"Requested resource was not found.\"}},\"Successful transfer\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}},\"Payer limit breached\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}},\"API user insufficient balance\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}},\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"PAYEE_NOT_FOUND\",\"message\":\"string\"}},\"Unspecified internal error\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}}}},\"500\":{\"description\":\"Internal Error. Note that if the retreieved transfer has failed, it will not cause this status to be returned. This status is only returned if the GET request itself fails.\",\"content\":{\"Unspecified internal error\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"INTERNAL_PROCESSING_ERROR\",\"message\":\"An internal error occurred while processing.\"}},\"Successful transfer\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}},\"Payer limit breached\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}},\"API user insufficient balance\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}},\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"PAYEE_NOT_FOUND\",\"message\":\"string\"}},\"Transfer not found\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}}}}}}},\"/v1_0/accountholder/msisdn/{accountHolderMSISDN}/basicuserinfo\":{\"get\":{\"summary\":\"GetBasicUserinfo\",\"description\":\"This operation returns personal information of the account holder. The operation does not need any consent by the account holder.\",\"operationId\":\"GetBasicUserinfo\",\"parameters\":[{\"name\":\"accountHolderMSISDN\",\"in\":\"path\",\"description\":\"Bearer Authentication Token generated using CreateAccessToken API Call\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Authentication Token generated using CreateAccessToken API Call\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"OK\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/BasicUserInfoJsonResponse\"},\"example\":{\"given_name\":\"string\",\"family_name\":\"string\",\"birthdate\":\"string\",\"locale\":\"string\",\"gender\":\"string\",\"status\":\"string\"}}}},\"401\":{\"description\":\"Unauthorized\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/TokenPost401ApplicationJsonResponse\"},\"example\":{\"error\":\"string\"}}}},\"500\":{\"description\":\"Error\",\"content\":{\"application/json\":{}}}}}},\"/v1_0/bc-authorize\":{\"post\":{\"summary\":\"bc-authorize\",\"description\":\"This operation is used to claim a consent by the account holder for the requested scopes.\",\"operationId\":\"bc-authorize\",\"parameters\":[{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Basic authentication header containing API user ID and API key. Should be sent in as B64 encoded.\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Callback-Url\",\"in\":\"header\",\"description\":\"URL to the server where the callback should be sent.\",\"schema\":{\"type\":\"string\"}}],\"requestBody\":{\"content\":{\"application/x-www-form-urlencoded\":{\"schema\":{\"properties\":{\"scope\":{\"type\":\"string\"},\"login_hint\":{\"type\":\"string\"},\"access_type\":{\"enum\":[\"online\",\"offline\"],\"type\":\"string\"},\"consent_valid_in\":{\"type\":\"integer\"},\"client_notification_token\":{\"type\":\"string\"},\"scope_instruction\":{\"type\":\"string\"}}},\"example\":\"login_hint=ID:{msisdn}/MSISDN&scope={scope}&access_type={online/offline}\"}}},\"responses\":{\"200\":{\"description\":\"OK\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/bcauthorizeResponse\"},\"example\":{\"auth_req_id\":\"string\",\"interval\":0,\"expires_in\":0}}}}}}},\"/v1_0/account/balance/{currency}\":{\"get\":{\"summary\":\"GetAccountBalanceInSpecificCurrency\",\"description\":\"Get the balance of own account. Currency parameter passed in GET\",\"operationId\":\"GetAccountBalanceInSpecificCurrency\",\"parameters\":[{\"name\":\"currency\",\"in\":\"path\",\"description\":\"Should be in ISO4217 Currency\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Authentication Token generated using CreateAccessToken API Call\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"Ok\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/Balance\"},\"example\":{\"availableBalance\":\"string\",\"currency\":\"string\"}},\"Incorrect target environment\":{\"schema\":{\"$ref\":\"#/components/schemas/Balance\"},\"examples\":{\"default\":{\"value\":null}}}}},\"400\":{\"description\":\"Bad request, e.g. invalid data was sent in the request.\",\"content\":{\"application/json\":{},\"Incorrect target environment\":{}}},\"500\":{\"description\":\"Internal error. The returned response contains details.\",\"content\":{\"Incorrect target environment\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"NOT_ALLOWED_TARGET_ENVIRONMENT\",\"message\":\"Access to target environment is forbidden.\"}},\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"PAYEE_NOT_FOUND\",\"message\":\"string\"}}}}}}},\"/oauth2/token/\":{\"post\":{\"summary\":\"CreateOauth2Token\",\"description\":\"This operation is used to claim a consent by the account holder for the requested scopes.\",\"operationId\":\"CreateOauth2Token\",\"parameters\":[{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Basic authentication header containing API user ID and API key. Should be sent in as B64 encoded.\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"requestBody\":{\"content\":{\"application/x-www-form-urlencoded\":{\"schema\":{\"properties\":{\"grant_type\":{\"type\":\"string\"},\"auth_req_id\":{\"type\":\"string\"},\"refresh_token\":{\"type\":\"string\"}}},\"example\":\"grant_type=urn:openid:params:grant-type:ciba&auth_req_id={auth_req_id}\"}}},\"responses\":{\"200\":{\"description\":\"OK\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/oauth2TokenResponse\"},\"example\":{\"access_token\":\"string\",\"token_type\":\"string\",\"expires_in\":0,\"scope\":\"string\",\"refresh_token\":\"string\",\"refresh_token_expired_in\":0}}}}}}},\"/oauth2/v1_0/userinfo\":{\"get\":{\"summary\":\"GetUserInfoWithConsent\",\"description\":\"This operation is used to claim a consent by the account holder for the requested scopes.\",\"operationId\":\"GetUserInfoWithConsent\",\"parameters\":[{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Token. Replace with a valid oauth2 token received from oauth2 token endpoint in Wallet Platform.\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"OK\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/consentkycResponse\"},\"example\":{\"sub\":\"string\",\"name\":\"string\",\"given_name\":\"string\",\"family_name\":\"string\",\"middle_name\":\"string\",\"email\":\"string\",\"email_verified\":true,\"gender\":\"string\",\"locale\":\"string\",\"phone_number\":\"string\",\"phone_number_verified\":true,\"address\":\"string\",\"updated_at\":0,\"status\":\"string\",\"birthdate\":\"string\",\"credit_score\":\"string\",\"active\":true,\"country_of_birth\":\"string\",\"region_of_birth\":\"string\",\"city_of_birth\":\"string\",\"occupation\":\"string\",\"employer_name\":\"string\",\"identification_type\":\"string\",\"identification_value\":\"string\"}}}}}}},\"/token/\":{\"post\":{\"summary\":\"CreateAccessToken\",\"description\":\"This operation is used to create an access token which can then be used to authorize and authenticate towards the other end-points of the API.\",\"operationId\":\"CreateAccessToken\",\"parameters\":[{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Basic authentication header containing API user ID and API key. Should be sent in as B64 encoded.\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"OK\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/TokenPost200ApplicationJsonResponse\"},\"example\":{\"access_token\":\"string\",\"token_type\":\"string\",\"expires_in\":0}}}},\"401\":{\"description\":\"Unauthorized\",\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/TokenPost401ApplicationJsonResponse\"},\"example\":{\"error\":\"string\"}}}},\"500\":{\"description\":\"Error\",\"content\":{\"application/json\":{}}}}}},\"/v2_0/cashtransfer\":{\"post\":{\"summary\":\"CashTransfer\",\"description\":\"Cash transfer operation is used to transfer an amount from the owner’s account to a payee account. Status of the transaction can be validated by using GET /cashtransfer/{referenceId}\",\"operationId\":\"CashTransfer\",\"parameters\":[{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Authentication Token generated using CreateAccessToken API Call\",\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Callback-Url\",\"in\":\"header\",\"description\":\"URL to the server where the callback should be sent, Uses PORT method.\",\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Reference-Id\",\"in\":\"header\",\"description\":\"Format - UUID. Recource ID of the created ‘request-to-pay’ transaction. This ID is used for e.g. validating the status of the request. Universal Unique ID for the transaction generated using UUID version 4.\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"requestBody\":{\"content\":{\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/CashTransfer\"},\"example\":{\"amount\":\"string\",\"currency\":\"string\",\"payee\":{\"partyId\":\"string\",\"partyIdType\":\"MSISDN/EMAIL/PARTY_CODE\"},\"externalId\":\"string\",\"orginatingCountry\":\"string\",\"originalAmount\":\"string\",\"originalCurrency\":\"string\",\"payerMessage\":\"string\",\"payeeNote\":\"string\",\"payerIdentificationType\":\"PersonIdentificationType1Code\",\"payerIdentificationNumber\":\"string\",\"payerIdentity\":\"string\",\"payerFirstName\":\"string\",\"payerSurName\":\"string\",\"payerLanguageCode\":\"string\",\"payerEmail\":\"string (Email)\",\"payerMsisdn\":\"string (Msisdn)\",\"payerGender\":\"string\"}}}},\"responses\":{\"202\":{\"description\":\"Accepted\",\"content\":{\"application/json\":{},\"ReferenceId already in use\":{},\"Incorrect currency for target environment\":{}}},\"400\":{\"description\":\"Bad request, e.g. invalid data was sent in the request.\",\"content\":{\"application/json\":{},\"ReferenceId already in use\":{},\"Incorrect currency for target environment\":{}}},\"409\":{\"description\":\"Conflict, duplicated reference id\",\"content\":{\"ReferenceId already in use\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"RESOURCE_ALREADY_EXIST\",\"message\":\"Duplicated reference id. Creation of resource failed.\"}},\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"PAYEE_NOT_FOUND\",\"message\":\"string\"}},\"Incorrect currency for target environment\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}}}},\"500\":{\"description\":\"Internal Error.\",\"content\":{\"Incorrect currency for target environment\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"INVALID_CURRENCY\",\"message\":\"Currency not supported.\"}},\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"PAYEE_NOT_FOUND\",\"message\":\"string\"}},\"ReferenceId already in use\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}}}}}}},\"/v2_0/cashtransfer/{referenceId}\":{\"get\":{\"summary\":\"GetCashTransferStatus\",\"description\":\"This operation is used to get the status of a transfer. X-Reference-Id that was passed in the post is used as reference to the request.\",\"operationId\":\"GetCashTransferStatus\",\"parameters\":[{\"name\":\"referenceId\",\"in\":\"path\",\"description\":\"UUID of transaction to get result. Reference id  used when creating the CashTransfer.\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Authentication Token generated using CreateAccessToken API Call\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}}],\"responses\":{\"200\":{\"description\":\"OK. Note that a failed transfer will be returned with this status too. The 'status' of the TransferResult can be used to determine the outcome of the request. The 'reason' field can be used to retrieve a cause in case of failure.\",\"content\":{\"Successful transfer\":{\"schema\":{\"$ref\":\"#/components/schemas/CashTransferResult\"},\"example\":{\"amount\":100,\"currency\":\"UGX\",\"financialTransactionId\":363440463,\"externalId\":83453,\"payee\":{\"partyIdType\":\"MSISDN\",\"partyId\":4609274685},\"status\":\"SUCCESSFUL\"}},\"Payer limit breached\":{\"schema\":{\"$ref\":\"#/components/schemas/CashTransferResult\"},\"example\":{\"amount\":100,\"currency\":\"UGX\",\"externalId\":83453,\"payee\":{\"partyIdType\":\"MSISDN\",\"partyId\":4609274685},\"status\":\"FAILED\",\"reason\":{\"code\":\"PAYER_LIMIT_REACHED\",\"message\":\"The payer's limit has been breached.\"}}},\"API user insufficient balance\":{\"schema\":{\"$ref\":\"#/components/schemas/CashTransferResult\"},\"example\":{\"amount\":100,\"currency\":\"UGX\",\"externalId\":83453,\"payee\":{\"partyIdType\":\"MSISDN\",\"partyId\":4609274685},\"status\":\"FAILED\",\"reason\":{\"code\":\"NOT_ENOUGH_FUNDS\",\"message\":\"The payer does not have enough funds.\"}}},\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/CashTransferResult\"},\"example\":{\"amount\":\"string\",\"currency\":\"string\",\"financialTransactionId\":\"string\",\"externalId\":\"string\",\"payee\":{\"partyIdType\":\"MSISDN\",\"partyId\":\"string\"},\"payerMessage\":\"string\",\"payeeNote\":\"string\",\"status\":\"PENDING\",\"reason\":{\"code\":\"PAYEE_NOT_FOUND\",\"message\":\"string\"}}},\"Transfer not found\":{\"schema\":{\"$ref\":\"#/components/schemas/CashTransferResult\"},\"examples\":{\"default\":{\"value\":null}}},\"Unspecified internal error\":{\"schema\":{\"$ref\":\"#/components/schemas/CashTransferResult\"},\"examples\":{\"default\":{\"value\":null}}}}},\"400\":{\"description\":\"Bad request, e.g. an incorrectly formatted reference id was provided.\",\"content\":{\"Successful transfer\":{},\"Payer limit breached\":{},\"API user insufficient balance\":{},\"application/json\":{},\"Transfer not found\":{},\"Unspecified internal error\":{}}},\"404\":{\"description\":\"Resource not found.\",\"content\":{\"Transfer not found\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"RESOURCE_NOT_FOUND\",\"message\":\"Requested resource was not found.\"}},\"Successful transfer\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}},\"Payer limit breached\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}},\"API user insufficient balance\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}},\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"PAYEE_NOT_FOUND\",\"message\":\"string\"}},\"Unspecified internal error\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}}}},\"500\":{\"description\":\"Internal Error. Note that if the retreieved transfer has failed, it will not cause this status to be returned. This status is only returned if the GET request itself fails.\",\"content\":{\"Unspecified internal error\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"INTERNAL_PROCESSING_ERROR\",\"message\":\"An internal error occurred while processing.\"}},\"Successful transfer\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}},\"Payer limit breached\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}},\"API user insufficient balance\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}},\"application/json\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"example\":{\"code\":\"PAYEE_NOT_FOUND\",\"message\":\"string\"}},\"Transfer not found\":{\"schema\":{\"$ref\":\"#/components/schemas/ErrorReason\"},\"examples\":{\"default\":{\"value\":null}}}}}}}}},\"components\":{\"schemas\":{\"bcauthorize\":{\"type\":\"object\",\"properties\":{\"scope\":{\"type\":\"string\",\"description\":\"Space separated list of scopes.\"},\"login_hint\":{\"type\":\"string\",\"description\":\"The identity of the account holder.\"},\"access_type\":{\"enum\":[\"online\",\"offline\"],\"type\":\"string\",\"description\":\"Value either online, or offline.\"},\"consent_valid_in\":{\"type\":\"integer\",\"description\":\"The validity time of the consent in secondsThis parameter can only be used together with access type offline.\"},\"client_notification_token\":{\"type\":\"string\",\"description\":\"This token is required when the client is using Ping or Push mode.\"},\"scope_instruction\":{\"type\":\"string\",\"description\":\"Base64 encoded Instrcution of the financial transaction.\"}}},\"bcauthorizeResponse\":{\"type\":\"object\",\"properties\":{\"auth_req_id\":{\"type\":\"string\",\"description\":\"Authentication request ID as an UUID.\"},\"interval\":{\"type\":\"number\",\"description\":\"Indicates how long time the client should wait between retries towards the endpoint /oauth2/token.\"},\"expires_in\":{\"type\":\"number\",\"description\":\"Shows when the authentication request ID expires, in seconds.\"}}},\"BasicUserInfoJsonResponse\":{\"type\":\"object\",\"properties\":{\"given_name\":{\"type\":\"string\",\"description\":\"Given name(s) or first name(s) of the End-User. Note that in some cultures, people can have multiple given names; all can be present, with the names being separated by space characters.\"},\"family_name\":{\"type\":\"string\",\"description\":\"Surname(s) or last name(s) of the End-User. Note that in some cultures, people can have multiple family names or no family name; all can be present, with the names being separated by space characters.\"},\"birthdate\":{\"type\":\"string\",\"description\":\"Account holder birth date.\"},\"locale\":{\"type\":\"string\",\"description\":\"End-User's locale, represented as a  BCP47 [RFC5646] language tag. This is typically an  ISO 639-1 Alpha-2 [ISO639�|�1] language code in lowercase and an  ISO 3166-1 Alpha-2 [ISO3166�|�1] country code in uppercase, separated by a dash. For example,  en-US or  fr-CA. As a compatibility note, some implementations have used an underscore as the separator rather than a dash, for example,  en_US; Relying Parties may choose to accept this locale syntax as well.\"},\"gender\":{\"type\":\"string\",\"description\":\"End-User's gender. Values defined by this specification are female and male. Other values may be used when neither of the defined values are applicable.\"},\"status\":{\"type\":\"string\",\"description\":\"Accountholder status.\"}}},\"TokenPost200ApplicationJsonResponse\":{\"type\":\"object\",\"properties\":{\"access_token\":{\"type\":\"string\",\"description\":\"A JWT token which can be used to authrize against the other API end-points. The format of the token follows the JWT standard format (see jwt.io for an example). This is the token that should be sent in in the Authorization header when calling the other API end-points.\"},\"token_type\":{\"type\":\"string\",\"description\":\"The token type.\"},\"expires_in\":{\"type\":\"integer\",\"description\":\"The validity time in seconds of the token.\"}}},\"oauth2TokenRequest\":{\"type\":\"object\",\"properties\":{\"grant_type\":{\"type\":\"string\",\"description\":\"Value ca be either \\\"urn:openid:params:grant-type:ciba\\\" or refresh_token\"},\"auth_req_id\":{\"type\":\"string\",\"description\":\"Authentication request ID.Value is only mandatory if grant_type is \\\"urn:openid:params:grant-type:ciba\\\"\"},\"refresh_token\":{\"type\":\"string\",\"description\":\"UUID.Refresh token retrieved from oauth2 token endpoint for consents with grant_type offline. This parameter is only valid if grant_type is refresh_token.\"}}},\"oauth2TokenResponse\":{\"type\":\"object\",\"properties\":{\"access_token\":{\"type\":\"string\",\"description\":\"Oauth2 JWT access token.The generated token is valid 3600 seconds as default.\"},\"token_type\":{\"type\":\"string\",\"description\":\"Value is Bearer\"},\"expires_in\":{\"type\":\"number\",\"description\":\"Shows when the authentication request ID expires, in seconds.\"},\"scope\":{\"type\":\"string\",\"description\":\"List of scopes that belongs to the authentication request ID.\"},\"refresh_token\":{\"type\":\"string\",\"description\":\"UUID of the refresh_token\"},\"refresh_token_expired_in\":{\"type\":\"integer\",\"description\":\"The time in seconds until the consent can no longer be refreshed. Based on the default value for consent validity, or the value set to parameter consent_valid_in sent in the bc-authorize request.\"}}},\"consentkycResponse\":{\"type\":\"object\",\"properties\":{\"sub\":{\"type\":\"string\",\"description\":\"Subject - Identifier for the End-User at the Issuer.\"},\"name\":{\"type\":\"string\",\"description\":\"End-User's full name in displayable form including all name parts.\"},\"given_name\":{\"type\":\"string\",\"description\":\"Given name(s) or first name(s) of the End-User.\"},\"family_name\":{\"type\":\"string\",\"description\":\"Surname(s) or last name(s) of the End-User.\"},\"middle_name\":{\"type\":\"string\",\"description\":\"Middle name(s) of the End-User.\"},\"email\":{\"type\":\"string\",\"description\":\"End-User's preferred e-mail address. Its value MUST conform to the  RFC 5322 [RFC5322] address specification syntax.\"},\"email_verified\":{\"type\":\"boolean\",\"description\":\"The response value is True if the End-User's e-mail address has been verified;otherwise false.\"},\"gender\":{\"type\":\"string\",\"description\":\"End-User's gender.\"},\"locale\":{\"type\":\"string\",\"description\":\"Preffered language.\"},\"phone_number\":{\"type\":\"string\",\"description\":\"End-User's preferred telephone number\"},\"phone_number_verified\":{\"type\":\"boolean\",\"description\":\"The response value is True if the End-User's phone number has been verified; otherwise false.\"},\"address\":{\"type\":\"string\",\"description\":\"User Address\"},\"updated_at\":{\"type\":\"number\",\"description\":\"The time the End-User's information was last updated.\"},\"status\":{\"type\":\"string\",\"description\":\"Account holder status.\"},\"birthdate\":{\"type\":\"string\",\"description\":\"The birth date of the account holder.\"},\"credit_score\":{\"type\":\"string\",\"description\":\"The credit score of the account holder.\"},\"active\":{\"type\":\"boolean\",\"description\":\"The status of the account holder.\"},\"country_of_birth\":{\"type\":\"string\",\"description\":\"Account holder country of birth.\"},\"region_of_birth\":{\"type\":\"string\",\"description\":\"The birth region of the account holder.\"},\"city_of_birth\":{\"type\":\"string\",\"description\":\"The city of birth for the account holder.\"},\"occupation\":{\"type\":\"string\",\"description\":\"Occupation of the account holder.\"},\"employer_name\":{\"type\":\"string\",\"description\":\"The name of the employer.\"},\"identification_type\":{\"type\":\"string\",\"description\":\"Type of identification.The first non-expired identification is always chosen.\"},\"identification_value\":{\"type\":\"string\",\"description\":\"The value of the identification.\"}}},\"address\":{\"type\":\"object\",\"properties\":{\"formatted\":{\"type\":\"string\",\"description\":\"Full mailing address, formatted for display or use on a mailing label. This field may contain multiple lines, separated by newlines.\"},\"street_address\":{\"type\":\"string\",\"description\":\"Full street address component, which may include house number, street name, Post Office Box, and multi-line extended street address information.\"},\"locality\":{\"type\":\"string\",\"description\":\"City or locality component.\"},\"region\":{\"type\":\"string\",\"description\":\"State, province, prefecture, or region component.\"},\"postal_code\":{\"type\":\"string\",\"description\":\"Zip code or postal code component.\"},\"country\":{\"type\":\"string\",\"description\":\"Country name component.\"}}},\"TokenPost401ApplicationJsonResponse\":{\"type\":\"object\",\"properties\":{\"error\":{\"type\":\"string\",\"description\":\"An error code.\"}}},\"Balance\":{\"type\":\"object\",\"properties\":{\"availableBalance\":{\"type\":\"string\",\"description\":\"The available balance of the account\"},\"currency\":{\"type\":\"string\",\"description\":\"ISO4217 Currency\"}},\"description\":\"The available balance of the account\"},\"Party\":{\"type\":\"object\",\"properties\":{\"partyIdType\":{\"enum\":[\"MSISDN\",\"EMAIL\",\"PARTY_CODE\"],\"type\":\"string\"},\"partyId\":{\"type\":\"string\"}},\"description\":\"Party identifies a account holder in the wallet platform. Party consists of two parameters, type and partyId. Each type have its own validation of the partyId<br> MSISDN - Mobile Number validated according to ITU-T E.164. Validated with IsMSISDN<br> EMAIL - Validated to be a valid e-mail format. Validated with IsEmail<br> PARTY_CODE - UUID of the party. Validated with IsUuid\"},\"Transfer\":{\"type\":\"object\",\"properties\":{\"amount\":{\"type\":\"string\",\"description\":\"Amount that will be debited from the payer account.\"},\"currency\":{\"type\":\"string\",\"description\":\"ISO4217 Currency\"},\"externalId\":{\"type\":\"string\",\"description\":\"External id is used as a reference to the transaction. External id is used for reconciliation. The external id will be included in transaction history report. <br>External id is not required to be unique.\"},\"payee\":{\"$ref\":\"#/components/schemas/Party\"},\"payerMessage\":{\"type\":\"string\",\"description\":\"Message that will be written in the payer transaction history message field.\"},\"payeeNote\":{\"type\":\"string\",\"description\":\"Message that will be written in the payee transaction history note field.\"}}},\"TransferResult\":{\"type\":\"object\",\"properties\":{\"amount\":{\"type\":\"string\",\"description\":\"Amount that will be debited from the payer account.\"},\"currency\":{\"type\":\"string\",\"description\":\"ISO4217 Currency\"},\"financialTransactionId\":{\"type\":\"string\",\"description\":\"Financial transactionIdd from mobile money manager.<br> Used to connect to the specific financial transaction made in the account\"},\"externalId\":{\"type\":\"string\",\"description\":\"External id is used as a reference to the transaction. External id is used for reconciliation. The external id will be included in transaction history report. <br>External id is not required to be unique.\"},\"payee\":{\"$ref\":\"#/components/schemas/Party\"},\"payerMessage\":{\"type\":\"string\",\"description\":\"Message that will be written in the payer transaction history message field.\"},\"payeeNote\":{\"type\":\"string\",\"description\":\"Message that will be written in the payee transaction history note field.\"},\"status\":{\"enum\":[\"PENDING\",\"SUCCESSFUL\",\"FAILED\"],\"type\":\"string\"},\"reason\":{\"$ref\":\"#/components/schemas/ErrorReason\"}}},\"CashTransfer\":{\"type\":\"object\",\"properties\":{\"amount\":{\"type\":\"string\",\"description\":\"Amount that will be debited from the payer account.\"},\"currency\":{\"type\":\"string\",\"description\":\"ISO4217 Currency\"},\"payee\":{\"$ref\":\"#/components/schemas/Party\"},\"externalId\":{\"type\":\"string\",\"description\":\"External id is used as a reference to the transaction. External id is used for reconciliation. The external id will be included in transaction history report. <br>External id is not required to be unique.\"},\"orginatingCountry\":{\"type\":\"string\",\"description\":\"Country where the request came from\"},\"originalAmount\":{\"type\":\"string\",\"description\":\"Amount that was sent before any foreign exchange\"},\"originalCurrency\":{\"type\":\"string\",\"description\":\"ISO4217 Currency of the originalAmoun\"},\"payerMessage\":{\"type\":\"string\",\"description\":\"Message that will be written in the payer transaction history message field.\"},\"payeeNote\":{\"type\":\"string\",\"description\":\"Message that will be written in the payee transaction history note field.\"},\"payerIdentificationType\":{\"enum\":[\"PASS\",\"CPFA\",\"SRSSA\",\"NRIN\",\"OTHR\",\"DRLC\",\"SOCS\",\"AREG\",\"IDCD\",\"EMID\"],\"type\":\"string\",\"description\":\"Identification type of the payer\"},\"payerIdentificationNumber\":{\"type\":\"string\",\"description\":\"Identification number of the payer\"},\"payerIdentity\":{\"type\":\"string\",\"description\":\"Identification of the payer\"},\"payerFirstName\":{\"type\":\"string\",\"description\":\"FirstName\"},\"payerSurName\":{\"type\":\"string\",\"description\":\"Surname\"},\"payerLanguageCode\":{\"type\":\"string\",\"description\":\"LanguageCode\"},\"payerEmail\":{\"type\":\"string\",\"description\":\"Email\"},\"payerMsisdn\":{\"type\":\"string\",\"description\":\"Msisdn\"},\"payerGender\":{\"type\":\"string\",\"description\":\"GenderCode according to ISO 20022\"}}},\"CashTransferResult\":{\"type\":\"object\",\"properties\":{\"financialTransactionId\":{\"type\":\"string\",\"description\":\"transaction id of the cash transfer.\"},\"status\":{\"type\":\"string\",\"description\":\"status of the cash transfer\"},\"reason\":{\"type\":\"string\",\"description\":\"contains error if one occurred\"},\"amount\":{\"type\":\"string\",\"description\":\"Amount that will be debited from the payer account.\"},\"currency\":{\"type\":\"string\",\"description\":\"ISO4217 Currency\"},\"payee\":{\"$ref\":\"#/components/schemas/Party\"},\"externalId\":{\"type\":\"string\",\"description\":\"External id is used as a reference to the transaction. External id is used for reconciliation. The external id will be included in transaction history report. <br>External id is not required to be unique.\"},\"orginatingCountry\":{\"type\":\"string\",\"description\":\"Country where the request came from\"},\"originalAmount\":{\"type\":\"string\",\"description\":\"Amount that was sent before any foreign exchange\"},\"originalCurrency\":{\"type\":\"string\",\"description\":\"ISO4217 Currency of the originalAmoun\"},\"payerMessage\":{\"type\":\"string\",\"description\":\"Message that will be written in the payer transaction history message field.\"},\"payeeNote\":{\"type\":\"string\",\"description\":\"Message that will be written in the payee transaction history note field.\"},\"payerIdentificationType\":{\"enum\":[\"PASS\",\"CPFA\",\"SRSSA\",\"NRIN\",\"OTHR\",\"DRLC\",\"SOCS\",\"AREG\",\"IDCD\",\"EMID\"],\"type\":\"string\",\"description\":\"Identification type of the payer\"},\"payerIdentificationNumber\":{\"type\":\"string\",\"description\":\"Identification number of the payer\"},\"payerIdentity\":{\"type\":\"string\",\"description\":\"payerIdentity number of the payer\"},\"payerFirstName\":{\"type\":\"string\",\"description\":\"FirstName\"},\"payerSurName\":{\"type\":\"string\",\"description\":\"Surname\"},\"payerLanguageCode\":{\"type\":\"string\",\"description\":\"LanguageCode\"},\"payerEmail\":{\"type\":\"string\",\"description\":\"Email\"},\"payerMsisdn\":{\"type\":\"string\",\"description\":\"Msisdn\"},\"payerGender\":{\"type\":\"string\",\"description\":\"GenderCode\"}}},\"ErrorReason\":{\"type\":\"object\",\"properties\":{\"code\":{\"enum\":[\"PAYEE_NOT_FOUND\",\"PAYER_NOT_FOUND\",\"NOT_ALLOWED\",\"NOT_ALLOWED_TARGET_ENVIRONMENT\",\"INVALID_CALLBACK_URL_HOST\",\"INVALID_CURRENCY\",\"SERVICE_UNAVAILABLE\",\"INTERNAL_PROCESSING_ERROR\",\"NOT_ENOUGH_FUNDS\",\"PAYER_LIMIT_REACHED\",\"PAYEE_NOT_ALLOWED_TO_RECEIVE\",\"PAYMENT_NOT_APPROVED\",\"RESOURCE_NOT_FOUND\",\"APPROVAL_REJECTED\",\"EXPIRED\",\"TRANSACTION_CANCELED.\",\"RESOURCE_ALREADY_EXIST\",\"TRANSACTION_NOT_COMPLETED\",\"TRANSACTION_NOT_FOUND\",\"INFORMATIONAL_SCOPE_INSTRUCTION\",\"MISSING_SCOPE_INSTRUCTION\",\"MORE_THAN_ONE_FINANCIAL_SCOPE_NOT_SUPPORTED\",\"UNSUPPORTED_SCOPE_COMBINATION\",\"CONSENT_MISMATCH\",\"UNSUPPORTED_SCOPE\",\"NOT_FOUND\"],\"type\":\"string\"},\"message\":{\"type\":\"string\"}}},\"BooleanResult\":{\"type\":\"object\",\"properties\":{\"result\":{\"type\":\"boolean\"}}}},\"securitySchemes\":{\"apiKeyHeader\":{\"type\":\"apiKey\",\"name\":\"Ocp-Apim-Subscription-Key\",\"in\":\"header\"},\"apiKeyQuery\":{\"type\":\"apiKey\",\"name\":\"subscription-key\",\"in\":\"query\"}}},\"security\":[{\"apiKeyHeader\":[]},{\"apiKeyQuery\":[]}]}\n      /**\n      * Remit funds to local recipients from the diaspora with ease\n      */\n      export class Remittance extends Client {\n        constructor({\n          schema = RemittanceScheam,\n          base_url = \"https://sandbox.momodeveloper.mtn.com/remittance\",\n          headers = {},\n        }: {\n          base_url?: string;\n          schema?: OpenAPIV3.Document;\n          headers?: IHashMapGeneric<string>;\n        } = {}) {\n          super({ schema, base_url, headers });\n        }\n\n        \n        /**\n        * Get the balance of own account.\n        */\n        getAccountBalance(params: IHashMapGeneric<string> = {}, headers: IHashMapGeneric<string> = {}){\n          headers = {...this.headers, ...headers}\n\n          const details = {\"parameters\":[{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Authentication Token generated using CreateAccessToken API Call\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}}]} as OpenAPIV3.OperationObject\n\n          this.validateParameters(\"get\", \"/v1_0/account/balance\", headers, params, details)\n\n          return this.makeRequest(\"get\", \"/v1_0/account/balance\", headers, params)\n        }\n\n\n        /**\n        * Operation is used  to check if an account holder is registered and active in the system.\n        */\n        validateAccountHolderStatus(params: IHashMapGeneric<string> = {}, headers: IHashMapGeneric<string> = {}){\n          headers = {...this.headers, ...headers}\n\n          const details = {\"parameters\":[{\"name\":\"accountHolderId\",\"in\":\"path\",\"description\":\"The AccountHolder number that's Validated according to the AccountHolder ID type (case Sensitive)<br> msisdn - Mobile Number validated according to ITU-T E.164. Validated with IsMSISDN <br>email - Validated to be a valid e-mail format. Validated with IsEmail\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"accountHolderIdType\",\"in\":\"path\",\"description\":\"Specifies the type of the party id. Allowed values [msisdn, email, party_code].\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Authentication Token generated using CreateAccessToken API Call\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}}]} as OpenAPIV3.OperationObject\n\n          this.validateParameters(\"get\", \"/v1_0/accountholder/{accountHolderIdType}/{accountHolderId}/active\", headers, params, details)\n\n          return this.makeRequest(\"get\", \"/v1_0/accountholder/{accountHolderIdType}/{accountHolderId}/active\", headers, params)\n        }\n\n\n        /**\n        * Transfer operation is used to transfer an amount from the own account to a payee account.<br> Status of the transaction can validated by using the GET /transfer/\\{referenceId\\}\n        */\n        transfer(params: IHashMapGeneric<string> = {}, headers: IHashMapGeneric<string> = {}){\n          headers = {...this.headers, ...headers}\n\n          const details = {\"parameters\":[{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Authentication Token generated using CreateAccessToken API Call\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Callback-Url\",\"in\":\"header\",\"description\":\"URL to the server where the callback should be sent.\",\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Reference-Id\",\"in\":\"header\",\"description\":\"Format - UUID. Recource ID of the created request to pay transaction. This ID is used, for example validating the status of the request. ‘Universal Unique ID’ for the transaction generated using UUID version 4.\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}}]} as OpenAPIV3.OperationObject\n\n          this.validateParameters(\"post\", \"/v1_0/transfer\", headers, params, details)\n\n          return this.makeRequest(\"post\", \"/v1_0/transfer\", headers, params)\n        }\n\n\n        /**\n        * This operation is used to get the status of a transfer. X-Reference-Id that was passed in the post is used as reference to the request.\n        */\n        getTransferStatus(params: IHashMapGeneric<string> = {}, headers: IHashMapGeneric<string> = {}){\n          headers = {...this.headers, ...headers}\n\n          const details = {\"parameters\":[{\"name\":\"referenceId\",\"in\":\"path\",\"description\":\"UUID of transaction to get result. Reference id  used when creating the Transfer.\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Authentication Token generated using CreateAccessToken API Call\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}}]} as OpenAPIV3.OperationObject\n\n          this.validateParameters(\"get\", \"/v1_0/transfer/{referenceId}\", headers, params, details)\n\n          return this.makeRequest(\"get\", \"/v1_0/transfer/{referenceId}\", headers, params)\n        }\n\n\n        /**\n        * This operation returns personal information of the account holder. The operation does not need any consent by the account holder.\n        */\n        getBasicUserinfo(params: IHashMapGeneric<string> = {}, headers: IHashMapGeneric<string> = {}){\n          headers = {...this.headers, ...headers}\n\n          const details = {\"parameters\":[{\"name\":\"accountHolderMSISDN\",\"in\":\"path\",\"description\":\"Bearer Authentication Token generated using CreateAccessToken API Call\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Authentication Token generated using CreateAccessToken API Call\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}}]} as OpenAPIV3.OperationObject\n\n          this.validateParameters(\"get\", \"/v1_0/accountholder/msisdn/{accountHolderMSISDN}/basicuserinfo\", headers, params, details)\n\n          return this.makeRequest(\"get\", \"/v1_0/accountholder/msisdn/{accountHolderMSISDN}/basicuserinfo\", headers, params)\n        }\n\n\n        /**\n        * This operation is used to claim a consent by the account holder for the requested scopes.\n        */\n        bcAuthorize(params: IHashMapGeneric<string> = {}, headers: IHashMapGeneric<string> = {}){\n          headers = {...this.headers, ...headers}\n\n          const details = {\"parameters\":[{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Basic authentication header containing API user ID and API key. Should be sent in as B64 encoded.\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Callback-Url\",\"in\":\"header\",\"description\":\"URL to the server where the callback should be sent.\",\"schema\":{\"type\":\"string\"}}]} as OpenAPIV3.OperationObject\n\n          this.validateParameters(\"post\", \"/v1_0/bc-authorize\", headers, params, details)\n\n          return this.makeRequest(\"post\", \"/v1_0/bc-authorize\", headers, params)\n        }\n\n\n        /**\n        * Get the balance of own account. Currency parameter passed in GET\n        */\n        getAccountBalanceInSpecificCurrency(params: IHashMapGeneric<string> = {}, headers: IHashMapGeneric<string> = {}){\n          headers = {...this.headers, ...headers}\n\n          const details = {\"parameters\":[{\"name\":\"currency\",\"in\":\"path\",\"description\":\"Should be in ISO4217 Currency\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Authentication Token generated using CreateAccessToken API Call\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}}]} as OpenAPIV3.OperationObject\n\n          this.validateParameters(\"get\", \"/v1_0/account/balance/{currency}\", headers, params, details)\n\n          return this.makeRequest(\"get\", \"/v1_0/account/balance/{currency}\", headers, params)\n        }\n\n\n        /**\n        * This operation is used to claim a consent by the account holder for the requested scopes.\n        */\n        createOauth2token(params: IHashMapGeneric<string> = {}, headers: IHashMapGeneric<string> = {}){\n          headers = {...this.headers, ...headers}\n\n          const details = {\"parameters\":[{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Basic authentication header containing API user ID and API key. Should be sent in as B64 encoded.\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}}]} as OpenAPIV3.OperationObject\n\n          this.validateParameters(\"post\", \"/oauth2/token/\", headers, params, details)\n\n          return this.makeRequest(\"post\", \"/oauth2/token/\", headers, params)\n        }\n\n\n        /**\n        * This operation is used to claim a consent by the account holder for the requested scopes.\n        */\n        getUserInfoWithConsent(params: IHashMapGeneric<string> = {}, headers: IHashMapGeneric<string> = {}){\n          headers = {...this.headers, ...headers}\n\n          const details = {\"parameters\":[{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Token. Replace with a valid oauth2 token received from oauth2 token endpoint in Wallet Platform.\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}}]} as OpenAPIV3.OperationObject\n\n          this.validateParameters(\"get\", \"/oauth2/v1_0/userinfo\", headers, params, details)\n\n          return this.makeRequest(\"get\", \"/oauth2/v1_0/userinfo\", headers, params)\n        }\n\n\n        /**\n        * This operation is used to create an access token which can then be used to authorize and authenticate towards the other end-points of the API.\n        */\n        createAccessToken(params: IHashMapGeneric<string> = {}, headers: IHashMapGeneric<string> = {}){\n          headers = {...this.headers, ...headers}\n\n          const details = {\"parameters\":[{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Basic authentication header containing API user ID and API key. Should be sent in as B64 encoded.\",\"required\":true,\"schema\":{\"type\":\"string\"}}]} as OpenAPIV3.OperationObject\n\n          this.validateParameters(\"post\", \"/token/\", headers, params, details)\n\n          return this.makeRequest(\"post\", \"/token/\", headers, params)\n        }\n\n\n        /**\n        * Cash transfer operation is used to transfer an amount from the owner’s account to a payee account. Status of the transaction can be validated by using GET /cashtransfer/{referenceId}\n        */\n        cashTransfer(params: IHashMapGeneric<string> = {}, headers: IHashMapGeneric<string> = {}){\n          headers = {...this.headers, ...headers}\n\n          const details = {\"parameters\":[{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Authentication Token generated using CreateAccessToken API Call\",\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Callback-Url\",\"in\":\"header\",\"description\":\"URL to the server where the callback should be sent, Uses PORT method.\",\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Reference-Id\",\"in\":\"header\",\"description\":\"Format - UUID. Recource ID of the created ‘request-to-pay’ transaction. This ID is used for e.g. validating the status of the request. Universal Unique ID for the transaction generated using UUID version 4.\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}}]} as OpenAPIV3.OperationObject\n\n          this.validateParameters(\"post\", \"/v2_0/cashtransfer\", headers, params, details)\n\n          return this.makeRequest(\"post\", \"/v2_0/cashtransfer\", headers, params)\n        }\n\n\n        /**\n        * This operation is used to get the status of a transfer. X-Reference-Id that was passed in the post is used as reference to the request.\n        */\n        getCashTransferStatus(params: IHashMapGeneric<string> = {}, headers: IHashMapGeneric<string> = {}){\n          headers = {...this.headers, ...headers}\n\n          const details = {\"parameters\":[{\"name\":\"referenceId\",\"in\":\"path\",\"description\":\"UUID of transaction to get result. Reference id  used when creating the CashTransfer.\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"Authorization\",\"in\":\"header\",\"description\":\"Bearer Authentication Token generated using CreateAccessToken API Call\",\"required\":true,\"schema\":{\"type\":\"string\"}},{\"name\":\"X-Target-Environment\",\"in\":\"header\",\"description\":\"The identifier of the Wallet Platform system where the transaction shall be processed. This parameter is used to route the request to the Wallet Platform system that will initiate the transaction.\",\"required\":true,\"schema\":{\"type\":\"string\"}}]} as OpenAPIV3.OperationObject\n\n          this.validateParameters(\"get\", \"/v2_0/cashtransfer/{referenceId}\", headers, params, details)\n\n          return this.makeRequest(\"get\", \"/v2_0/cashtransfer/{referenceId}\", headers, params)\n        }\n\n\n      }\n      \n  }\n\n  // Export specific members from MtnOpenApi namespace\n  export const { SandboxProvisioning,Collection,Disbursement,Remittance } = MtnOpenApi;\n\n  export default MtnOpenApi;\n    "],"mappings":"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","names":["ValidationError","ValidatorResult","SchemaError","SchemaContext","makeSuffix","validateMultipleOfOrDivisbleBy","schema","Validator","uri","validate","MtnOpenApi","SandboxProvisioning","Collection","Disbursement","Remittance"]}