From 61a19634ffdcf4ccfe2472fc4942c376bbe66a08 Mon Sep 17 00:00:00 2001 From: Cameron Koegel <53310569+ckoegel@users.noreply.github.com> Date: Wed, 22 Feb 2023 14:11:06 -0500 Subject: [PATCH] DX-3204 Add Java Migration Guides (#952) * DX-3204 Add Java Migration Guides * clarify call recordings * add link to sdk page * add the rest of the guides * remove postman folder * trailing slashes for feedback tests * bye bye prism * add python media migration guides * remove pagination from migration guides --- postman/.gitignore | 2 - postman/README.md | 22 - postman/index.js | 5 - postman/package-lock.json | 1606 ------- postman/package.json | 31 - postman/postman.json | 3738 ----------------- .../postman_scaffold_collection.json | 1907 --------- postman/src/Main.ts | 67 - postman/src/engine/AppendEngine.ts | 21 - postman/src/engine/converter/APIConverter.ts | 14 - postman/src/enums/ApiVersions.ts | 4 - postman/src/enums/HttpMethods.ts | 10 - postman/src/interfaces/IPostmanColl.ts | 80 - postman/src/postman/Auth.ts | 14 - postman/src/postman/Body.ts | 39 - postman/src/postman/Header.ts | 21 - postman/src/postman/Helper.ts | 28 - postman/src/postman/JsonBlob.ts | 48 - postman/src/postman/PostmanColl.ts | 14 - postman/src/postman/PostmanFolder.ts | 76 - postman/src/postman/PostmanItem.ts | 32 - postman/src/postman/Request.ts | 130 - postman/src/postman/Url.ts | 54 - postman/src/postman/Variable.ts | 24 - postman/tsconfig.json | 23 - site/cypress/e2e/tests/feedback.cy.js | 4 +- site/docusaurus.config.js | 5 +- site/migration-guides/java/intro.mdx | 19 + site/migration-guides/java/v9.mdx | 2162 ++++++++++ site/migration-guides/python/intro.md | 2 + site/migration-guides/python/v15.mdx | 158 +- site/sidebarsMigrationGuides.js | 8 + site/src/pages/sdks/java.js | 3 +- 33 files changed, 2354 insertions(+), 8017 deletions(-) delete mode 100644 postman/.gitignore delete mode 100644 postman/README.md delete mode 100644 postman/index.js delete mode 100644 postman/package-lock.json delete mode 100644 postman/package.json delete mode 100644 postman/postman.json delete mode 100644 postman/resources/postman_scaffold_collection.json delete mode 100644 postman/src/Main.ts delete mode 100644 postman/src/engine/AppendEngine.ts delete mode 100644 postman/src/engine/converter/APIConverter.ts delete mode 100644 postman/src/enums/ApiVersions.ts delete mode 100644 postman/src/enums/HttpMethods.ts delete mode 100644 postman/src/interfaces/IPostmanColl.ts delete mode 100644 postman/src/postman/Auth.ts delete mode 100644 postman/src/postman/Body.ts delete mode 100644 postman/src/postman/Header.ts delete mode 100644 postman/src/postman/Helper.ts delete mode 100644 postman/src/postman/JsonBlob.ts delete mode 100644 postman/src/postman/PostmanColl.ts delete mode 100644 postman/src/postman/PostmanFolder.ts delete mode 100644 postman/src/postman/PostmanItem.ts delete mode 100644 postman/src/postman/Request.ts delete mode 100644 postman/src/postman/Url.ts delete mode 100644 postman/src/postman/Variable.ts delete mode 100644 postman/tsconfig.json create mode 100644 site/migration-guides/java/intro.mdx create mode 100644 site/migration-guides/java/v9.mdx diff --git a/postman/.gitignore b/postman/.gitignore deleted file mode 100644 index 9c1ad660c..000000000 --- a/postman/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -/out -/node_modules diff --git a/postman/README.md b/postman/README.md deleted file mode 100644 index fb6f63b1c..000000000 --- a/postman/README.md +++ /dev/null @@ -1,22 +0,0 @@ -# Postman Collection Generator - -This project takes a postman collection skeleton and inserts an API reference namespaced folder to the end.
-It uses a folder containing 'n' number of Open API specs with each Open API becoming a sub folder of request within the API reference folder. - -## Usage - -To build the project run -
-`npm run build` - -To execute a built project run -
-`npm run start -- -c path/to/postman_collection -s path/to/open_api_spec_folder` - -*Note the `--` in the above command is necessary to pass arguments to the script and not to npm.* - -| Options | Short Code | Usage | -|----------------------|------------|-------------------------------------------------------------------------------------------------------------| -| --postman_collection | -c | The file path to the postman collection skeleton | -| --spec_folder | -s | The folder path to the directory containing all Open API Specs to be used in the creation of the collection | -| --name | -n | (optional) The file name to save the generated collection as, default: `postman.json` | \ No newline at end of file diff --git a/postman/index.js b/postman/index.js deleted file mode 100644 index 082830073..000000000 --- a/postman/index.js +++ /dev/null @@ -1,5 +0,0 @@ -var Main = require('./out/Main.js'); - -module.exports = Main; - -Main.Main().catch(function( error ) { console.log(error); } ); diff --git a/postman/package-lock.json b/postman/package-lock.json deleted file mode 100644 index 1648fe67e..000000000 --- a/postman/package-lock.json +++ /dev/null @@ -1,1606 +0,0 @@ -{ - "name": "postman", - "version": "1.0.0", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "postman", - "version": "1.0.0", - "license": "ISC", - "dependencies": { - "@types/command-line-args": "^5.0.0", - "@types/fs-extra": "^8.0.1", - "@types/glob": "^7.1.1", - "@types/node": "^12.12.14", - "@types/swagger-parser": "^7.0.1", - "@types/url-parse": "^1.4.3", - "command-line-args": "^5.1.1", - "fs-extra": "^8.1.0", - "glob": "^7.1.6", - "js2xml": "^1.0.9", - "swagger-parser": "^8.0.3", - "url-parse": "^1.5.9", - "xml-js": "^1.6.11" - }, - "devDependencies": { - "typescript": "^3.7.3" - } - }, - "node_modules/@mapbox/node-pre-gyp": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.9.tgz", - "integrity": "sha512-aDF3S3rK9Q2gey/WAttUlISduDItz5BU3306M9Eyv6/oS40aMprnopshtlKTykxRNIBEZuRMaZAnbrQ4QtKGyw==", - "dependencies": { - "detect-libc": "^2.0.0", - "https-proxy-agent": "^5.0.0", - "make-dir": "^3.1.0", - "node-fetch": "^2.6.7", - "nopt": "^5.0.0", - "npmlog": "^5.0.1", - "rimraf": "^3.0.2", - "semver": "^7.3.5", - "tar": "^6.1.11" - }, - "bin": { - "node-pre-gyp": "bin/node-pre-gyp" - } - }, - "node_modules/@types/command-line-args": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@types/command-line-args/-/command-line-args-5.0.0.tgz", - "integrity": "sha512-4eOPXyn5DmP64MCMF8ePDvdlvlzt2a+F8ZaVjqmh2yFCpGjc1kI3kGnCFYX9SCsGTjQcWIyVZ86IHCEyjy/MNg==" - }, - "node_modules/@types/events": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz", - "integrity": "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==" - }, - "node_modules/@types/fs-extra": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-8.0.1.tgz", - "integrity": "sha512-J00cVDALmi/hJOYsunyT52Hva5TnJeKP5yd1r+mH/ZU0mbYZflR0Z5kw5kITtKTRYMhm1JMClOFYdHnQszEvqw==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/glob": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.1.tgz", - "integrity": "sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==", - "dependencies": { - "@types/events": "*", - "@types/minimatch": "*", - "@types/node": "*" - } - }, - "node_modules/@types/minimatch": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", - "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==" - }, - "node_modules/@types/node": { - "version": "12.12.14", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.14.tgz", - "integrity": "sha512-u/SJDyXwuihpwjXy7hOOghagLEV1KdAST6syfnOk6QZAMzZuWZqXy5aYYZbh8Jdpd4escVFP0MvftHNDb9pruA==" - }, - "node_modules/@types/swagger-parser": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/@types/swagger-parser/-/swagger-parser-7.0.1.tgz", - "integrity": "sha512-RWfhw0/AQBuh/+8PA8IHeVhZe2h7YiIQ0nVAjJRByKrHL+BxWxaT056lVX3akfrxdKU5IPxSqPPZYgay3OQfCA==", - "dependencies": { - "swagger-parser": "*" - } - }, - "node_modules/@types/url-parse": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/@types/url-parse/-/url-parse-1.4.3.tgz", - "integrity": "sha512-4kHAkbV/OfW2kb5BLVUuUMoumB3CP8rHqlw48aHvFy5tf9ER0AfOonBlX29l/DD68G70DmyhRlSYfQPSYpC5Vw==" - }, - "node_modules/abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" - }, - "node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "dependencies": { - "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/aproba": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", - "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==" - }, - "node_modules/are-we-there-yet": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", - "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==", - "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/array-back": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz", - "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==", - "engines": { - "node": ">=6" - } - }, - "node_modules/balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" - }, - "node_modules/bindings": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.3.1.tgz", - "integrity": "sha512-i47mqjF9UbjxJhxGf+pZ6kSxrnI3wBLlnGI2ArWJ4r0VrvDS7ZYXkprq/pLaBWYq4GM0r4zdHY+NNRqEMU7uew==" - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/call-me-maybe": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", - "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=" - }, - "node_modules/chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "engines": { - "node": ">=10" - } - }, - "node_modules/color-support": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", - "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", - "bin": { - "color-support": "bin.js" - } - }, - "node_modules/command-line-args": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.1.1.tgz", - "integrity": "sha512-hL/eG8lrll1Qy1ezvkant+trihbGnaKaeEjj6Scyr3DN+RC7iQ5Rz84IeLERfAWDGo0HBSNAakczwgCilDXnWg==", - "dependencies": { - "array-back": "^3.0.1", - "find-replace": "^3.0.0", - "lodash.camelcase": "^4.3.0", - "typical": "^4.0.0" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "optional": true - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "node_modules/console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==" - }, - "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==" - }, - "node_modules/detect-libc": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz", - "integrity": "sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==", - "engines": { - "node": ">=8" - } - }, - "node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/find-replace": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz", - "integrity": "sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==", - "dependencies": { - "array-back": "^3.0.1" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "node_modules/gauge": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz", - "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==", - "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.2", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.1", - "object-assign": "^4.1.1", - "signal-exit": "^3.0.0", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", - "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==" - }, - "node_modules/has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==" - }, - "node_modules/https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "dependencies": { - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/js2xml": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/js2xml/-/js2xml-1.0.9.tgz", - "integrity": "sha512-TYg+a1zIv46M7rJO9W7lRDZiYcqwnYcoH7d4kT8xz4iwFQ6keLLGvmQHhjdnbeYwrW5ufMchctZ64lvTzGxmZw==", - "dependencies": { - "libxmljs": "^0.19.1" - }, - "engines": { - "node": ">0.8" - } - }, - "node_modules/json-schema-ref-parser": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/json-schema-ref-parser/-/json-schema-ref-parser-7.1.2.tgz", - "integrity": "sha512-bi2Nns2UqdX7wThX5qSHd+lOxlu9oeJvlCnWGuR3qS4Ex4UZtuwygkyq/43J31GuNGX8xBHeV6zjQztYk/G5VA==", - "dependencies": { - "call-me-maybe": "^1.0.1", - "js-yaml": "^3.13.1", - "ono": "^5.1.0" - } - }, - "node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/libxmljs": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/libxmljs/-/libxmljs-0.19.10.tgz", - "integrity": "sha512-RY5/MD8Po8sGVocbODbYcdrbP6pJyA171LjFyd7Bp9wwxhmA8C5bm/VmXfpdED07fdW0FeC3lopxhG7UbwGx+g==", - "hasInstallScript": true, - "dependencies": { - "@mapbox/node-pre-gyp": "^1.0.9", - "bindings": "~1.3.0", - "nan": "~2.14.0" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=" - }, - "node_modules/lodash.get": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=" - }, - "node_modules/lodash.isequal": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", - "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=" - }, - "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/make-dir/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minipass": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.6.tgz", - "integrity": "sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "dependencies": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/nan": { - "version": "2.14.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", - "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==" - }, - "node_modules/node-fetch": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", - "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", - "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } - } - }, - "node_modules/nopt": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", - "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", - "dependencies": { - "abbrev": "1" - }, - "bin": { - "nopt": "bin/nopt.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/npmlog": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz", - "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==", - "dependencies": { - "are-we-there-yet": "^2.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^3.0.0", - "set-blocking": "^2.0.0" - } - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/ono": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ono/-/ono-5.1.0.tgz", - "integrity": "sha512-GgqRIUWErLX4l9Up0khRtbrlH8Fyj59A0nKv8V6pWEto38aUgnOGOOF7UmgFFLzFnDSc8REzaTXOc0hqEe7yIw==" - }, - "node_modules/openapi-schemas": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/openapi-schemas/-/openapi-schemas-1.0.3.tgz", - "integrity": "sha512-KtMWcK2VtOS+nD8RKSIyScJsj8JrmVWcIX7Kjx4xEHijFYuvMTDON8WfeKOgeSb4uNG6UsqLj5Na7nKbSav9RQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/openapi-types": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/openapi-types/-/openapi-types-1.3.5.tgz", - "integrity": "sha512-11oi4zYorsgvg5yBarZplAqbpev5HkuVNPlZaPTknPDzAynq+lnJdXAmruGWP0s+dNYZS7bjM+xrTpJw7184Fg==" - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/querystringify": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.1.tgz", - "integrity": "sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA==" - }, - "node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=" - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" - }, - "node_modules/semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" - }, - "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" - }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" - }, - "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/swagger-methods": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/swagger-methods/-/swagger-methods-2.0.2.tgz", - "integrity": "sha512-/RNqvBZkH8+3S/FqBPejHxJxZenaYq3MrpeXnzi06aDIS39Mqf5YCUNb/ZBjsvFFt8h9FxfKs8EXPtcYdfLiRg==" - }, - "node_modules/swagger-parser": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/swagger-parser/-/swagger-parser-8.0.3.tgz", - "integrity": "sha512-y2gw+rTjn7Z9J+J1qwbBm0UL93k/VREDCveKBK6iGjf7KXC6QGshbnpEmeHL0ZkCgmIghsXzpNzPSbBH91BAEQ==", - "dependencies": { - "call-me-maybe": "^1.0.1", - "json-schema-ref-parser": "^7.1.1", - "ono": "^5.1.0", - "openapi-schemas": "^1.0.2", - "openapi-types": "^1.3.5", - "swagger-methods": "^2.0.1", - "z-schema": "^4.1.1" - } - }, - "node_modules/tar": { - "version": "6.1.11", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz", - "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==", - "dependencies": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^3.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" - }, - "node_modules/typescript": { - "version": "3.7.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.7.3.tgz", - "integrity": "sha512-Mcr/Qk7hXqFBXMN7p7Lusj1ktCBydylfQM/FZCk5glCNQJrCUKPkMHdo9R0MTFWsC/4kPFvDS0fDPvukfCkFsw==", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" - } - }, - "node_modules/typical": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz", - "integrity": "sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/url-parse": { - "version": "1.5.9", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.9.tgz", - "integrity": "sha512-HpOvhKBvre8wYez+QhHcYiVvVmeF6DVnuSOOPhe3cTum3BnqHhvKaZm8FU5yTiOu/Jut2ZpB2rA/SbBA1JIGlQ==", - "dependencies": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "node_modules/validator": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/validator/-/validator-11.1.0.tgz", - "integrity": "sha512-qiQ5ktdO7CD6C/5/mYV4jku/7qnqzjrxb3C/Q5wR3vGGinHTgJZN/TdFT3ZX4vXhX2R1PXx42fB1cn5W+uJ4lg==", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" - }, - "node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, - "node_modules/wide-align": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", - "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", - "dependencies": { - "string-width": "^1.0.2 || 2 || 3 || 4" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "node_modules/xml-js": { - "version": "1.6.11", - "resolved": "https://registry.npmjs.org/xml-js/-/xml-js-1.6.11.tgz", - "integrity": "sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==", - "dependencies": { - "sax": "^1.2.4" - }, - "bin": { - "xml-js": "bin/cli.js" - } - }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "node_modules/z-schema": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/z-schema/-/z-schema-4.2.2.tgz", - "integrity": "sha512-7bGR7LohxSdlK1EOdvA/OHksvKGE4jTLSjd8dBj9YKT0S43N9pdMZ0Z7GZt9mHrBFhbNTRh3Ky6Eu2MHsPJe8g==", - "dependencies": { - "lodash.get": "^4.4.2", - "lodash.isequal": "^4.5.0", - "validator": "^11.0.0" - }, - "bin": { - "z-schema": "bin/z-schema" - }, - "engines": { - "node": ">=6.0.0" - }, - "optionalDependencies": { - "commander": "^2.7.1" - } - } - }, - "dependencies": { - "@mapbox/node-pre-gyp": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.9.tgz", - "integrity": "sha512-aDF3S3rK9Q2gey/WAttUlISduDItz5BU3306M9Eyv6/oS40aMprnopshtlKTykxRNIBEZuRMaZAnbrQ4QtKGyw==", - "requires": { - "detect-libc": "^2.0.0", - "https-proxy-agent": "^5.0.0", - "make-dir": "^3.1.0", - "node-fetch": "^2.6.7", - "nopt": "^5.0.0", - "npmlog": "^5.0.1", - "rimraf": "^3.0.2", - "semver": "^7.3.5", - "tar": "^6.1.11" - } - }, - "@types/command-line-args": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@types/command-line-args/-/command-line-args-5.0.0.tgz", - "integrity": "sha512-4eOPXyn5DmP64MCMF8ePDvdlvlzt2a+F8ZaVjqmh2yFCpGjc1kI3kGnCFYX9SCsGTjQcWIyVZ86IHCEyjy/MNg==" - }, - "@types/events": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz", - "integrity": "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==" - }, - "@types/fs-extra": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-8.0.1.tgz", - "integrity": "sha512-J00cVDALmi/hJOYsunyT52Hva5TnJeKP5yd1r+mH/ZU0mbYZflR0Z5kw5kITtKTRYMhm1JMClOFYdHnQszEvqw==", - "requires": { - "@types/node": "*" - } - }, - "@types/glob": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.1.tgz", - "integrity": "sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==", - "requires": { - "@types/events": "*", - "@types/minimatch": "*", - "@types/node": "*" - } - }, - "@types/minimatch": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", - "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==" - }, - "@types/node": { - "version": "12.12.14", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.14.tgz", - "integrity": "sha512-u/SJDyXwuihpwjXy7hOOghagLEV1KdAST6syfnOk6QZAMzZuWZqXy5aYYZbh8Jdpd4escVFP0MvftHNDb9pruA==" - }, - "@types/swagger-parser": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/@types/swagger-parser/-/swagger-parser-7.0.1.tgz", - "integrity": "sha512-RWfhw0/AQBuh/+8PA8IHeVhZe2h7YiIQ0nVAjJRByKrHL+BxWxaT056lVX3akfrxdKU5IPxSqPPZYgay3OQfCA==", - "requires": { - "swagger-parser": "*" - } - }, - "@types/url-parse": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/@types/url-parse/-/url-parse-1.4.3.tgz", - "integrity": "sha512-4kHAkbV/OfW2kb5BLVUuUMoumB3CP8rHqlw48aHvFy5tf9ER0AfOonBlX29l/DD68G70DmyhRlSYfQPSYpC5Vw==" - }, - "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" - }, - "agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "requires": { - "debug": "4" - } - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "aproba": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", - "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==" - }, - "are-we-there-yet": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", - "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==", - "requires": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - } - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "requires": { - "sprintf-js": "~1.0.2" - } - }, - "array-back": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz", - "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==" - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" - }, - "bindings": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.3.1.tgz", - "integrity": "sha512-i47mqjF9UbjxJhxGf+pZ6kSxrnI3wBLlnGI2ArWJ4r0VrvDS7ZYXkprq/pLaBWYq4GM0r4zdHY+NNRqEMU7uew==" - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "call-me-maybe": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", - "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=" - }, - "chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==" - }, - "color-support": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", - "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==" - }, - "command-line-args": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.1.1.tgz", - "integrity": "sha512-hL/eG8lrll1Qy1ezvkant+trihbGnaKaeEjj6Scyr3DN+RC7iQ5Rz84IeLERfAWDGo0HBSNAakczwgCilDXnWg==", - "requires": { - "array-back": "^3.0.1", - "find-replace": "^3.0.0", - "lodash.camelcase": "^4.3.0", - "typical": "^4.0.0" - } - }, - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "optional": true - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==" - }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "requires": { - "ms": "2.1.2" - } - }, - "delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==" - }, - "detect-libc": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz", - "integrity": "sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==" - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" - }, - "find-replace": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz", - "integrity": "sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==", - "requires": { - "array-back": "^3.0.1" - } - }, - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "requires": { - "minipass": "^3.0.0" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "gauge": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz", - "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==", - "requires": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.2", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.1", - "object-assign": "^4.1.1", - "signal-exit": "^3.0.0", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.2" - } - }, - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "graceful-fs": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", - "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==" - }, - "has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==" - }, - "https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "requires": { - "agent-base": "6", - "debug": "4" - } - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - }, - "js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - } - }, - "js2xml": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/js2xml/-/js2xml-1.0.9.tgz", - "integrity": "sha512-TYg+a1zIv46M7rJO9W7lRDZiYcqwnYcoH7d4kT8xz4iwFQ6keLLGvmQHhjdnbeYwrW5ufMchctZ64lvTzGxmZw==", - "requires": { - "libxmljs": "^0.19.1" - } - }, - "json-schema-ref-parser": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/json-schema-ref-parser/-/json-schema-ref-parser-7.1.2.tgz", - "integrity": "sha512-bi2Nns2UqdX7wThX5qSHd+lOxlu9oeJvlCnWGuR3qS4Ex4UZtuwygkyq/43J31GuNGX8xBHeV6zjQztYk/G5VA==", - "requires": { - "call-me-maybe": "^1.0.1", - "js-yaml": "^3.13.1", - "ono": "^5.1.0" - } - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "libxmljs": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/libxmljs/-/libxmljs-0.19.10.tgz", - "integrity": "sha512-RY5/MD8Po8sGVocbODbYcdrbP6pJyA171LjFyd7Bp9wwxhmA8C5bm/VmXfpdED07fdW0FeC3lopxhG7UbwGx+g==", - "requires": { - "@mapbox/node-pre-gyp": "^1.0.9", - "bindings": "~1.3.0", - "nan": "~2.14.0" - } - }, - "lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=" - }, - "lodash.get": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=" - }, - "lodash.isequal": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", - "integrity": "sha1-QVxEePK8wwEgwizhDtMib30+GOA=" - }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "requires": { - "yallist": "^4.0.0" - } - }, - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "requires": { - "semver": "^6.0.0" - }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - } - } - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minipass": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.6.tgz", - "integrity": "sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ==", - "requires": { - "yallist": "^4.0.0" - } - }, - "minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "requires": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - } - }, - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "nan": { - "version": "2.14.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz", - "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==" - }, - "node-fetch": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", - "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", - "requires": { - "whatwg-url": "^5.0.0" - } - }, - "nopt": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", - "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", - "requires": { - "abbrev": "1" - } - }, - "npmlog": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz", - "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==", - "requires": { - "are-we-there-yet": "^2.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^3.0.0", - "set-blocking": "^2.0.0" - } - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "requires": { - "wrappy": "1" - } - }, - "ono": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ono/-/ono-5.1.0.tgz", - "integrity": "sha512-GgqRIUWErLX4l9Up0khRtbrlH8Fyj59A0nKv8V6pWEto38aUgnOGOOF7UmgFFLzFnDSc8REzaTXOc0hqEe7yIw==" - }, - "openapi-schemas": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/openapi-schemas/-/openapi-schemas-1.0.3.tgz", - "integrity": "sha512-KtMWcK2VtOS+nD8RKSIyScJsj8JrmVWcIX7Kjx4xEHijFYuvMTDON8WfeKOgeSb4uNG6UsqLj5Na7nKbSav9RQ==" - }, - "openapi-types": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/openapi-types/-/openapi-types-1.3.5.tgz", - "integrity": "sha512-11oi4zYorsgvg5yBarZplAqbpev5HkuVNPlZaPTknPDzAynq+lnJdXAmruGWP0s+dNYZS7bjM+xrTpJw7184Fg==" - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" - }, - "querystringify": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.1.tgz", - "integrity": "sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA==" - }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=" - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "requires": { - "glob": "^7.1.3" - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" - }, - "semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", - "requires": { - "lru-cache": "^6.0.0" - } - }, - "set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" - }, - "signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" - }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" - }, - "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "requires": { - "safe-buffer": "~5.2.0" - } - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "swagger-methods": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/swagger-methods/-/swagger-methods-2.0.2.tgz", - "integrity": "sha512-/RNqvBZkH8+3S/FqBPejHxJxZenaYq3MrpeXnzi06aDIS39Mqf5YCUNb/ZBjsvFFt8h9FxfKs8EXPtcYdfLiRg==" - }, - "swagger-parser": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/swagger-parser/-/swagger-parser-8.0.3.tgz", - "integrity": "sha512-y2gw+rTjn7Z9J+J1qwbBm0UL93k/VREDCveKBK6iGjf7KXC6QGshbnpEmeHL0ZkCgmIghsXzpNzPSbBH91BAEQ==", - "requires": { - "call-me-maybe": "^1.0.1", - "json-schema-ref-parser": "^7.1.1", - "ono": "^5.1.0", - "openapi-schemas": "^1.0.2", - "openapi-types": "^1.3.5", - "swagger-methods": "^2.0.1", - "z-schema": "^4.1.1" - } - }, - "tar": { - "version": "6.1.11", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz", - "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==", - "requires": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^3.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - } - }, - "tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" - }, - "typescript": { - "version": "3.7.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.7.3.tgz", - "integrity": "sha512-Mcr/Qk7hXqFBXMN7p7Lusj1ktCBydylfQM/FZCk5glCNQJrCUKPkMHdo9R0MTFWsC/4kPFvDS0fDPvukfCkFsw==", - "dev": true - }, - "typical": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz", - "integrity": "sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==" - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" - }, - "url-parse": { - "version": "1.5.9", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.9.tgz", - "integrity": "sha512-HpOvhKBvre8wYez+QhHcYiVvVmeF6DVnuSOOPhe3cTum3BnqHhvKaZm8FU5yTiOu/Jut2ZpB2rA/SbBA1JIGlQ==", - "requires": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "validator": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/validator/-/validator-11.1.0.tgz", - "integrity": "sha512-qiQ5ktdO7CD6C/5/mYV4jku/7qnqzjrxb3C/Q5wR3vGGinHTgJZN/TdFT3ZX4vXhX2R1PXx42fB1cn5W+uJ4lg==" - }, - "webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" - }, - "whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", - "requires": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, - "wide-align": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", - "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", - "requires": { - "string-width": "^1.0.2 || 2 || 3 || 4" - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "xml-js": { - "version": "1.6.11", - "resolved": "https://registry.npmjs.org/xml-js/-/xml-js-1.6.11.tgz", - "integrity": "sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==", - "requires": { - "sax": "^1.2.4" - } - }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "z-schema": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/z-schema/-/z-schema-4.2.2.tgz", - "integrity": "sha512-7bGR7LohxSdlK1EOdvA/OHksvKGE4jTLSjd8dBj9YKT0S43N9pdMZ0Z7GZt9mHrBFhbNTRh3Ky6Eu2MHsPJe8g==", - "requires": { - "commander": "^2.7.1", - "lodash.get": "^4.4.2", - "lodash.isequal": "^4.5.0", - "validator": "^11.0.0" - } - } - } -} diff --git a/postman/package.json b/postman/package.json deleted file mode 100644 index aab917b84..000000000 --- a/postman/package.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "name": "postman", - "version": "1.0.0", - "description": "Appends API References to a postman collection using OpenAPI specs", - "main": "index.js", - "scripts": { - "test": "test", - "build": "tsc --sourcemap", - "start": "tsc --sourcemap && node index.js" - }, - "author": "BW DevX", - "license": "ISC", - "dependencies": { - "@types/command-line-args": "^5.0.0", - "@types/fs-extra": "^8.0.1", - "@types/glob": "^7.1.1", - "@types/node": "^12.12.14", - "@types/swagger-parser": "^7.0.1", - "@types/url-parse": "^1.4.3", - "command-line-args": "^5.1.1", - "fs-extra": "^8.1.0", - "glob": "^7.1.6", - "js2xml": "^1.0.9", - "swagger-parser": "^8.0.3", - "url-parse": "^1.5.9", - "xml-js": "^1.6.11" - }, - "devDependencies": { - "typescript": "^3.7.3" - } -} diff --git a/postman/postman.json b/postman/postman.json deleted file mode 100644 index 099670071..000000000 --- a/postman/postman.json +++ /dev/null @@ -1,3738 +0,0 @@ -{ - "info": { - "_postman_id": "4e178b36-ef80-4fd3-876c-3f380c589154", - "name": "Bandwidth API Collection", - "description": "This is the Bandwidth Collection. It contains an API reference and tutorials for the basic functionality of the Voice, Messaging, Numbers, and Account APIs.", - "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json" - }, - "item": [ - { - "name": "Messaging Tutorials", - "item": [ - { - "name": "Send Message", - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/json", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"to\": \"{{toNumber}}\",\n \"from\": \"{{fromNumber}}\",\n \"text\": \"{{text}}\",\n \"applicationId\": \"{{messagingApplicationId}}\"\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://messaging.bandwidth.com/api/v2/users/{{accountId}}/messages", - "protocol": "https", - "host": [ - "messaging", - "bandwidth", - "com" - ], - "path": [ - "api", - "v2", - "users", - "{{accountId}}", - "messages" - ] - }, - "description": "Sends a text message" - }, - "response": [] - }, - { - "name": "Send Group Message", - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "{\n\t\"to\": [\"{{toNumberA}}\", \"{{toNumberB}}\"],\n\t\"from\": \"{{fromNumber}}\",\n\t\"text\": \"{{text}}\",\n \"applicationId\": \"{{messagingApplicationId}}\"\n}" - }, - "url": { - "raw": "https://messaging.bandwidth.com/api/v2/users/{{accountId}}/messages", - "protocol": "https", - "host": [ - "messaging", - "bandwidth", - "com" - ], - "path": [ - "api", - "v2", - "users", - "{{accountId}}", - "messages" - ] - }, - "description": "Sends a group text message" - }, - "response": [] - }, - { - "name": "Send MMS", - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "{\n\t\"to\": \"{{toNumber}}\",\n\t\"from\": \"{{fromNumber}}\",\n\t\"text\": \"{{text}}\",\n \"applicationId\": \"{{messagingApplicationId}}\",\n\t\"media\": [\"{{mediaUrlA}}\", \"{{mediaUrlB}}\"]\n}" - }, - "url": { - "raw": "https://messaging.bandwidth.com/api/v2/users/{{accountId}}/messages", - "protocol": "https", - "host": [ - "messaging", - "bandwidth", - "com" - ], - "path": [ - "api", - "v2", - "users", - "{{accountId}}", - "messages" - ] - }, - "description": "Sends a MMS message with a media attachment" - }, - "response": [] - }, - { - "name": "Send Group MMS", - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "{\n\t\"to\": [\"{{toNumberA}}\", \"{{toNumberB}}\"],\n\t\"from\": \"{{fromNumber}}\",\n\t\"text\": \"{{text}}\",\n \"applicationId\": \"{{messagingApplicationId}}\",\n\t\"media\": [\"{{mediaUrlA}}\", \"{{mediaUrlB}}\"]\n}" - }, - "url": { - "raw": "https://messaging.bandwidth.com/api/v2/users/{{accountId}}/messages", - "protocol": "https", - "host": [ - "messaging", - "bandwidth", - "com" - ], - "path": [ - "api", - "v2", - "users", - "{{accountId}}", - "messages" - ] - }, - "description": "Sends a group MMS message with a media attachment" - }, - "response": [] - } - ], - "description": "This is the Bandwidth Messaging tutorials. In order to use these endpoints you will need your applicationId and at least 1 Bandwidth phone number. More information can be found on https://dev.bandwidth.com/messaging/about.html", - "auth": { - "type": "basic", - "basic": [ - { - "key": "password", - "value": "{{password}}", - "type": "string" - }, - { - "key": "username", - "value": "{{username}}", - "type": "string" - } - ] - }, - "event": [ - { - "listen": "prerequest", - "script": { - "id": "0d07c64f-a4d9-4cc9-96f5-a7ca18117b45", - "type": "text/javascript", - "exec": [ - "" - ] - } - }, - { - "listen": "test", - "script": { - "id": "6a6630b5-6a61-4732-a339-44993c7e430b", - "type": "text/javascript", - "exec": [ - "" - ] - } - } - ], - "protocolProfileBehavior": {} - }, - { - "name": "Voice Tutorials", - "item": [ - { - "name": "Create Phone Call", - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"from\" : \"{{fromNumber}}\",\n \"to\" : \"{{toNumber}}\",\n \"answerUrl\" : \"{{answerUrl}}\",\n \"applicationId\" : \"{{voiceApplicationId}}\"\n}" - }, - "url": { - "raw": "https://voice.bandwidth.com/api/v2/accounts/{{accountId}}/calls/", - "protocol": "https", - "host": [ - "voice", - "bandwidth", - "com" - ], - "path": [ - "api", - "v2", - "accounts", - "{{accountId}}", - "calls", - "" - ] - }, - "description": "Creates a new phone call" - }, - "response": [] - }, - { - "name": "Modify Phone Call", - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "type": "text", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n\t\"state\": \"active\",\n \"redirectUrl\": \"{{redirectUrl}}\"\n}" - }, - "url": { - "raw": "https://voice.bandwidth.com/api/v2/accounts/{{accountId}}/calls/{{callId}}", - "protocol": "https", - "host": [ - "voice", - "bandwidth", - "com" - ], - "path": [ - "api", - "v2", - "accounts", - "{{accountId}}", - "calls", - "{{callId}}" - ] - }, - "description": "Updates a phone call to a new BXML endpoint" - }, - "response": [] - }, - { - "name": "Hangup Phone Call", - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "type": "text", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n\t\"state\": \"completed\"\n}" - }, - "url": { - "raw": "https://voice.bandwidth.com/api/v2/accounts/{{accountId}}/calls/{{callId}}", - "protocol": "https", - "host": [ - "voice", - "bandwidth", - "com" - ], - "path": [ - "api", - "v2", - "accounts", - "{{accountId}}", - "calls", - "{{callId}}" - ] - }, - "description": "Ends an active phone call" - }, - "response": [] - } - ], - "description": "This is the Bandwidth Voice tutorials. In order to use these endpoints you will need your applicationId and at least 1 Bandwidth phone number. If you want your phone call to be interactive, you will need a server to host BXML and include an endpoint to retrieve this BXML on your API requests (applicationUrl is the field). More information can be found on https://dev.bandwidth.com/voice/about.html", - "auth": { - "type": "basic", - "basic": [ - { - "key": "password", - "value": "{{password}}", - "type": "string" - }, - { - "key": "username", - "value": "{{username}}", - "type": "string" - } - ] - }, - "event": [ - { - "listen": "prerequest", - "script": { - "id": "b36ea420-f96c-4e74-8d68-5e5fc796c9b0", - "type": "text/javascript", - "exec": [ - "" - ] - } - }, - { - "listen": "test", - "script": { - "id": "9c6d7b94-19a0-4e43-b85d-8bf3879081ba", - "type": "text/javascript", - "exec": [ - "" - ] - } - } - ], - "protocolProfileBehavior": {} - }, - { - "name": "Numbers Tutorials", - "item": [ - { - "name": "Search Then Order", - "item": [ - { - "name": "Search Availabel Numbers", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "https://dashboard.bandwidth.com/api/accounts/{{accountId}}/orders?", - "protocol": "https", - "host": [ - "dashboard", - "bandwidth", - "com" - ], - "path": [ - "api", - "accounts", - "{{accountId}}", - "orders" - ], - "query": [ - { - "key": "areaCode", - "value": "", - "disabled": true - }, - { - "key": "npaNxx", - "value": "", - "disabled": true - }, - { - "key": "rateCenter", - "value": "", - "disabled": true - }, - { - "key": "npaNxxx", - "value": "", - "disabled": true - }, - { - "key": "lata", - "value": "", - "disabled": true - }, - { - "key": "localVanity", - "value": "", - "disabled": true - }, - { - "key": "tollFreeVanity", - "value": "", - "disabled": true - }, - { - "key": "tollFreeWildCardPattern", - "value": "", - "disabled": true - } - ] - }, - "description": "This API call searches for available phone numbers based on one or more of the following criteria:\n\nArea Code\nNPA-NXX\nNPA-NXX with Local Area Calling\nNPA-NXX-X\nNPA-NXX-X with Local Area Calling\nRateCenter\nRateCenter with Local Area Calling\nState\nCity/State\nZip Code\nLATA\nLocal Vanity\nTollFree Vanity\nTollFree WildCard Pattern" - }, - "response": [] - }, - { - "name": "Existing Telephone Number Order", - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/xml", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "\r\n 123456789\r\n Existing Number Order\r\n \r\n \r\n 9197414022\r\n \r\n \r\n \r\n \r\n 29976\r\n", - "options": { - "raw": { - "language": "xml" - } - } - }, - "url": { - "raw": "https://dashboard.bandwidth.com/api/accounts/{{accountId}}/orders", - "protocol": "https", - "host": [ - "dashboard", - "bandwidth", - "com" - ], - "path": [ - "api", - "accounts", - "{{accountId}}", - "orders" - ] - }, - "description": "Order a set of numbers known to be available.\r\nThis often results if the numbers have been\r\nfound using a separate availableNumbers search\r\nIf the numbers have previously been reserved,\r\na reservation id must be included" - }, - "response": [] - }, - { - "name": "Fetch Order Status", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "https://dashboard.bandwidth.com/api/accounts/{{accountId}}/orders/:orderId", - "protocol": "https", - "host": [ - "dashboard", - "bandwidth", - "com" - ], - "path": [ - "api", - "accounts", - "{{accountId}}", - "orders", - ":orderId" - ], - "variable": [ - { - "key": "orderId", - "value": "e4bed0b4-87bd-42fe-b47e-0130b49215fe" - } - ] - }, - "description": "GET all of the details associated with an identified order" - }, - "response": [] - } - ], - "event": [ - { - "listen": "prerequest", - "script": { - "id": "377f7d23-7193-44cd-b5e5-b73bb4e8a710", - "type": "text/javascript", - "exec": [ - "" - ] - } - }, - { - "listen": "test", - "script": { - "id": "ba83868e-13ec-4917-a6c9-c979d1862dee", - "type": "text/javascript", - "exec": [ - "" - ] - } - } - ], - "protocolProfileBehavior": {}, - "_postman_isSubFolder": true - }, - { - "name": "Search AND Order", - "item": [ - { - "name": "Search Telephone Number & Order", - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/xml" - } - ], - "body": { - "mode": "raw", - "raw": "\r\n 123456789\r\n Local Order\r\n \r\n 919\r\n 1\r\n \r\n 29976\r\n", - "options": { - "raw": { - "language": "xml" - } - } - }, - "url": { - "raw": "https://dashboard.bandwidth.com/api/accounts/{{accountId}}/orders", - "protocol": "https", - "host": [ - "dashboard", - "bandwidth", - "com" - ], - "path": [ - "api", - "accounts", - "{{accountId}}", - "orders" - ] - }, - "description": "Order a set of numbers known to be available.\r\nThis often results if the numbers have been\r\nfound using a separate availableNumbers search\r\nIf the numbers have previously been reserved,\r\na reservation id must be included" - }, - "response": [] - }, - { - "name": "Fetch Order Status", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "https://dashboard.bandwidth.com/api/accounts/{{accountId}}/orders/:orderId", - "protocol": "https", - "host": [ - "dashboard", - "bandwidth", - "com" - ], - "path": [ - "api", - "accounts", - "{{accountId}}", - "orders", - ":orderId" - ], - "variable": [ - { - "key": "orderId", - "value": "06c88d83-dd4a-4c4c-b5a5-c469467fe7c9" - } - ] - }, - "description": "GET all of the details associated with an identified order" - }, - "response": [] - }, - { - "name": "Disconnect Telephone Number", - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/xml", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "\r\n training run\r\n \r\n \r\n 9193732359\r\n \r\n \r\n", - "options": { - "raw": { - "language": "xml" - } - } - }, - "url": { - "raw": "https://dashboard.bandwidth.com/api/accounts/{{accountId}}/disconnects", - "protocol": "https", - "host": [ - "dashboard", - "bandwidth", - "com" - ], - "path": [ - "api", - "accounts", - "{{accountId}}", - "disconnects" - ] - } - }, - "response": [] - }, - { - "name": "Fetch Disconnect Telephone Number Order", - "protocolProfileBehavior": { - "disableBodyPruning": true - }, - "request": { - "method": "GET", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/xml" - } - ], - "body": { - "mode": "raw", - "raw": "\r\n training run\r\n \r\n \r\n 9193732359\r\n \r\n \r\n", - "options": { - "raw": { - "language": "xml" - } - } - }, - "url": { - "raw": "https://dashboard.bandwidth.com/api/accounts/{{accountId}}/disconnects/:disconnectId", - "protocol": "https", - "host": [ - "dashboard", - "bandwidth", - "com" - ], - "path": [ - "api", - "accounts", - "{{accountId}}", - "disconnects", - ":disconnectId" - ], - "variable": [ - { - "key": "disconnectId", - "value": "de14fdb4-6fcc-4764-a914-0636bc3bab26" - } - ] - } - }, - "response": [] - } - ], - "protocolProfileBehavior": {}, - "_postman_isSubFolder": true - }, - { - "name": "Remove Imported Number", - "item": [ - { - "name": "Create Remove Imported Tn Order ", - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/xml", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "\r\n ICPA123ABC\r\n \r\n 9197414022\r\n \r\n", - "options": { - "raw": { - "language": "xml" - } - } - }, - "url": { - "raw": "https://dashboard.bandwidth.com/api/accounts/{{accountId}}/removeImportedTnOrders", - "protocol": "https", - "host": [ - "dashboard", - "bandwidth", - "com" - ], - "path": [ - "api", - "accounts", - "{{accountId}}", - "removeImportedTnOrders" - ] - }, - "description": "Creates a removeImportedTnOrders request to remove imported telephone numbers from the given site ID and sippeer ID as specified in the body. A successfully submitted order will have a status of \"PROCESSING\". A successfully completed order will have a status of \"COMPLETE\" if all of the telephone numbers were successfully removed and \"PARTIAL\" if some of the telephone numbers were removed. A failed order with will have a staus of \"FAILED\" and no telephone numbers would have been removed. The elements supplied in the payloads are described in the following table:" - }, - "response": [] - }, - { - "name": "Create Remove Imported Tn Order Copy", - "request": { - "method": "GET", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/xml", - "type": "text" - } - ], - "url": { - "raw": "https://dashboard.bandwidth.com/api/accounts/{{accountId}}/removeImportedTnOrders/:orderId", - "protocol": "https", - "host": [ - "dashboard", - "bandwidth", - "com" - ], - "path": [ - "api", - "accounts", - "{{accountId}}", - "removeImportedTnOrders", - ":orderId" - ], - "variable": [ - { - "key": "orderId", - "value": "06e5685b-2bd5-4f19-8c2d-35eef228b9a1" - } - ] - }, - "description": "Creates a removeImportedTnOrders request to remove imported telephone numbers from the given site ID and sippeer ID as specified in the body. A successfully submitted order will have a status of \"PROCESSING\". A successfully completed order will have a status of \"COMPLETE\" if all of the telephone numbers were successfully removed and \"PARTIAL\" if some of the telephone numbers were removed. A failed order with will have a staus of \"FAILED\" and no telephone numbers would have been removed. The elements supplied in the payloads are described in the following table:" - }, - "response": [] - }, - { - "name": "Check Inservice Telephone Numbers", - "request": { - "method": "GET", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/xml" - } - ], - "url": { - "raw": "https://dashboard.bandwidth.com/api/accounts/{{accountId}}/inserviceNumbers/?page=1&size=500", - "protocol": "https", - "host": [ - "dashboard", - "bandwidth", - "com" - ], - "path": [ - "api", - "accounts", - "{{accountId}}", - "inserviceNumbers", - "" - ], - "query": [ - { - "key": "page", - "value": "1" - }, - { - "key": "size", - "value": "500" - } - ] - } - }, - "response": [] - } - ], - "protocolProfileBehavior": {}, - "_postman_isSubFolder": true - }, - { - "name": "Import TNs for Hosted Messaging", - "item": [ - { - "name": "Import Telephone Number Check", - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/xml", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "\r\n \r\n 3032281000\r\n 4109235436\r\n 4104685864\r\n \r\n\r\n", - "options": { - "raw": { - "language": "xml" - } - } - }, - "url": { - "raw": "https://dashboard.bandwidth.com/api/accounts/{{accountId}}/importTnChecker", - "protocol": "https", - "host": [ - "dashboard", - "bandwidth", - "com" - ], - "path": [ - "api", - "accounts", - "{{accountId}}", - "importTnChecker" - ] - }, - "description": "Before creating the order, to reduce failed or error statuses, create a POST request to the /importTnChecker endpoint to check if the number can be brought in to your Bandwidth account. A non-errored response from the importTnChecker doesn't necessarily mean that the order will succeed, but is a good indicator of success.\n\n" - }, - "response": [] - }, - { - "name": "Create Import Tn Order", - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/xml", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "\r\n ICPA123ABC\r\n 29976\r\n 603962\r\n \r\n ABC Inc.\r\n \r\n 11235\r\n Back\r\n Denver\r\n CO\r\n 27541\r\n Canyon\r\n \r\n \r\n The Authguy\r\n \r\n 9199918388\r\n \r\n\r\n", - "options": { - "raw": { - "language": "xml" - } - } - }, - "url": { - "raw": "https://dashboard.bandwidth.com/api/accounts/{{accountId}}/importTnOrders", - "protocol": "https", - "host": [ - "dashboard", - "bandwidth", - "com" - ], - "path": [ - "api", - "accounts", - "{{accountId}}", - "importTnOrders" - ] - }, - "description": "After validating the numbers are able to be imported, create a POST request to create the order to import the phone numbers in to your Bandwidth account.\n\n" - }, - "response": [] - }, - { - "name": "Fetch Import Tn Order Status", - "request": { - "method": "GET", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/xml" - } - ], - "url": { - "raw": "https://dashboard.bandwidth.com/api/accounts/{{accountId}}/importTnOrders/:importOrderId", - "protocol": "https", - "host": [ - "dashboard", - "bandwidth", - "com" - ], - "path": [ - "api", - "accounts", - "{{accountId}}", - "importTnOrders", - ":importOrderId" - ], - "variable": [ - { - "key": "importOrderId", - "value": "82e3ea8c-1d8e-4bf3-8b76-7fa31a3efee2" - } - ] - }, - "description": "**Optional** At anytime, you're able to get the order status by creating a GET request to the order-id returned when creating the importTnOrder.\n\n" - }, - "response": [] - }, - { - "name": "Check Inservice Telephone Numbers", - "request": { - "method": "GET", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/xml" - } - ], - "url": { - "raw": "https://dashboard.bandwidth.com/api/accounts/{{accountId}}/inserviceNumbers/?page=1&size=500", - "protocol": "https", - "host": [ - "dashboard", - "bandwidth", - "com" - ], - "path": [ - "api", - "accounts", - "{{accountId}}", - "inserviceNumbers", - "" - ], - "query": [ - { - "key": "page", - "value": "1" - }, - { - "key": "size", - "value": "500" - } - ] - }, - "description": "Optional, but recommended. To finally confirm that the phone number was successfully imported into your Bandwidth account, create a GET request to the inserviceNumbers to list the numbers in your account.\n\nIf everything was imported correctly, the recently imported number will appear in the returned payload." - }, - "response": [] - } - ], - "description": "This walks through how to programmatically import Phone Numbers to your account for use with Bandwidth's Messaging Products.", - "event": [ - { - "listen": "prerequest", - "script": { - "id": "c1495376-6c76-40f1-aa87-c9a6e2234c2e", - "type": "text/javascript", - "exec": [ - "" - ] - } - }, - { - "listen": "test", - "script": { - "id": "f826556f-c2c9-46ad-adee-533a32fc819f", - "type": "text/javascript", - "exec": [ - "" - ] - } - } - ], - "protocolProfileBehavior": {}, - "_postman_isSubFolder": true - }, - { - "name": "CSR Lookup API", - "item": [ - { - "name": "Create CSR Subscription", - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/xml", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "\n csrs\n \n {your-callback-url}\n 3600\n \n \n User15\n Hunter15\n \n \n \n", - "options": { - "raw": { - "language": "xml" - } - } - }, - "url": { - "raw": "https://dashboard.bandwidth.com/api/accounts/{{accountId}}/subscriptions", - "protocol": "https", - "host": [ - "dashboard", - "bandwidth", - "com" - ], - "path": [ - "api", - "accounts", - "{{accountId}}", - "subscriptions" - ] - }, - "description": "Create a subscription to the CSR event updates" - }, - "response": [] - }, - { - "name": "Create CSR Order", - "request": { - "auth": { - "type": "basic", - "basic": [ - { - "key": "password", - "value": "{{password}}", - "type": "string" - }, - { - "key": "username", - "value": "{{username}}", - "type": "string" - } - ] - }, - "method": "POST", - "header": [ - { - "key": "Content-Type", - "value": "application/xml", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "\n\t9196190595\n", - "options": { - "raw": {} - } - }, - "url": { - "raw": "https://dashboard.bandwidth.com/api/accounts/{{accountId}}/csrs", - "protocol": "https", - "host": [ - "dashboard", - "bandwidth", - "com" - ], - "path": [ - "api", - "accounts", - "{{accountId}}", - "csrs" - ] - } - }, - "response": [] - }, - { - "name": "Lookup CSR Order by ID", - "request": { - "auth": { - "type": "basic", - "basic": [ - { - "key": "password", - "value": "{{password}}", - "type": "string" - }, - { - "key": "username", - "value": "{{username}}", - "type": "string" - } - ] - }, - "method": "GET", - "header": [ - { - "key": "Content-Type", - "value": "application/xml", - "type": "text" - } - ], - "url": { - "raw": "https://dashboard.bandwidth.com/api/accounts/{{accountId}}/csrs/:orderId", - "protocol": "https", - "host": [ - "dashboard", - "bandwidth", - "com" - ], - "path": [ - "api", - "accounts", - "{{accountId}}", - "csrs", - ":orderId" - ], - "variable": [ - { - "key": "orderId", - "value": "" - } - ] - } - }, - "response": [] - } - ], - "description": "Lookup Customer Service Records (CSRs) programatically before creating a port order", - "event": [ - { - "listen": "prerequest", - "script": { - "id": "1c3fe423-0836-4246-98d6-4707e62cb8c3", - "type": "text/javascript", - "exec": [ - "" - ] - } - }, - { - "listen": "test", - "script": { - "id": "6ac5dc75-50af-4430-8ecc-79596794cd73", - "type": "text/javascript", - "exec": [ - "" - ] - } - } - ], - "protocolProfileBehavior": {}, - "_postman_isSubFolder": true - } - ], - "description": "This is the Bandwidth Numbers tutorials", - "auth": { - "type": "basic", - "basic": [ - { - "key": "username", - "value": "{{username}}", - "type": "string" - }, - { - "key": "password", - "value": "{{password}}", - "type": "string" - } - ] - }, - "event": [ - { - "listen": "prerequest", - "script": { - "id": "0b3735b7-9e84-4eef-a16e-db5aa6104b93", - "type": "text/javascript", - "exec": [ - "" - ] - } - }, - { - "listen": "test", - "script": { - "id": "51d47e84-3f3f-469b-8607-8f73c7df2d53", - "type": "text/javascript", - "exec": [ - "" - ] - } - } - ], - "protocolProfileBehavior": {} - }, - { - "name": "Account Tutorials", - "item": [ - { - "name": "Programmatic Applicaton & HTTP Account Setup", - "item": [ - { - "name": "Create Messaging Application", - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/xml", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "\n Messaging-V2\n Production Server\n https://yourSecureSite.com/callbacks\n \n Your-User-id\n Your-Password\n \n", - "options": { - "raw": { - "language": "xml" - } - } - }, - "url": { - "raw": "https://dashboard.bandwidth.com/api/accounts/{{accountId}}/applications", - "protocol": "https", - "host": [ - "dashboard", - "bandwidth", - "com" - ], - "path": [ - "api", - "accounts", - "{{accountId}}", - "applications" - ] - }, - "description": "Create a messaging application for use with HTTP Messaging" - }, - "response": [] - }, - { - "name": "Create Voice Application", - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/xml", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "\n Voice-V2\n Production Server2\n https://yourSecureSite.com/callbacks/init\n https://yourSecureSite.com/callbacks/status\n \n Your-User-id\n Your-Password\n \n", - "options": { - "raw": { - "language": "xml" - } - } - }, - "url": { - "raw": "https://dashboard.bandwidth.com/api/accounts/{{accountId}}/applications", - "protocol": "https", - "host": [ - "dashboard", - "bandwidth", - "com" - ], - "path": [ - "api", - "accounts", - "{{accountId}}", - "applications" - ] - }, - "description": "Sample request to create a voice application for use with HTTP Voice" - }, - "response": [] - }, - { - "name": "List Applications", - "request": { - "method": "GET", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/xml", - "type": "text" - } - ], - "url": { - "raw": "https://dashboard.bandwidth.com/api/accounts/{{accountId}}/applications", - "protocol": "https", - "host": [ - "dashboard", - "bandwidth", - "com" - ], - "path": [ - "api", - "accounts", - "{{accountId}}", - "applications" - ] - }, - "description": "List all applications on an account" - }, - "response": [] - }, - { - "name": "Create new sub-account (site)", - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/xml", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "\n BandwidthHQ\n Test Gateway\n BW\n
\n 900\n Main Campus Dr\n RALEIGH\n NC\n 27606\n Billing\n
\n
", - "options": { - "raw": { - "language": "xml" - } - } - }, - "url": { - "raw": "https://dashboard.bandwidth.com/api/accounts/{{accountId}}/sites", - "protocol": "https", - "host": [ - "dashboard", - "bandwidth", - "com" - ], - "path": [ - "api", - "accounts", - "{{accountId}}", - "sites" - ] - } - }, - "response": [] - }, - { - "name": "Create SIPPEER (location)", - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/xml", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "\n Bandwidth 2020-01-06\n true\n", - "options": { - "raw": { - "language": "xml" - } - } - }, - "url": { - "raw": "https://dashboard.bandwidth.com/api/accounts/{{accountId}}/sites/{{siteId}}/sippeers", - "protocol": "https", - "host": [ - "dashboard", - "bandwidth", - "com" - ], - "path": [ - "api", - "accounts", - "{{accountId}}", - "sites", - "{{siteId}}", - "sippeers" - ] - } - }, - "response": [] - }, - { - "name": "List SMS Features on a location", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "https://dashboard.bandwidth.com/api/accounts/{{accountId}}/sites/{{siteId}}/sippeers/{{sippeerId}}/products/messaging/features/sms", - "protocol": "https", - "host": [ - "dashboard", - "bandwidth", - "com" - ], - "path": [ - "api", - "accounts", - "{{accountId}}", - "sites", - "{{siteId}}", - "sippeers", - "{{sippeerId}}", - "products", - "messaging", - "features", - "sms" - ] - } - }, - "response": [] - }, - { - "name": "Create SMS Features on a location", - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/xml", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "\n \n true\n true\n HTTP\n true\n false\n false\n false\n false\n \n \n", - "options": { - "raw": { - "language": "xml" - } - } - }, - "url": { - "raw": "https://dashboard.bandwidth.com/api/accounts/{{accountId}}/sites/{{siteId}}/sippeers/{{sippeerId}}/products/messaging/features/sms", - "protocol": "https", - "host": [ - "dashboard", - "bandwidth", - "com" - ], - "path": [ - "api", - "accounts", - "{{accountId}}", - "sites", - "{{siteId}}", - "sippeers", - "{{sippeerId}}", - "products", - "messaging", - "features", - "sms" - ] - } - }, - "response": [] - }, - { - "name": "List MMS Features on a location", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "https://dashboard.bandwidth.com/api/accounts/{{accountId}}/sites/{{siteId}}/sippeers/{{sippeerId}}/products/messaging/features/mms", - "protocol": "https", - "host": [ - "dashboard", - "bandwidth", - "com" - ], - "path": [ - "api", - "accounts", - "{{accountId}}", - "sites", - "{{siteId}}", - "sippeers", - "{{sippeerId}}", - "products", - "messaging", - "features", - "mms" - ] - } - }, - "response": [] - }, - { - "name": "Create MMS Features on a location", - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/xml", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "\n \n HTTP\n \n \n \n \n \n \n", - "options": { - "raw": { - "language": "xml" - } - } - }, - "url": { - "raw": "https://dashboard.bandwidth.com/api/accounts/{{accountId}}/sites/{{siteId}}/sippeers/{{sippeerId}}/products/messaging/features/mms", - "protocol": "https", - "host": [ - "dashboard", - "bandwidth", - "com" - ], - "path": [ - "api", - "accounts", - "{{accountId}}", - "sites", - "{{siteId}}", - "sippeers", - "{{sippeerId}}", - "products", - "messaging", - "features", - "mms" - ] - } - }, - "response": [] - }, - { - "name": "List Voice Origination Features on a location", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "https://dashboard.bandwidth.com/api/accounts/{{accountId}}/sites/{{siteId}}/sippeers/{{sippeerId}}/products/origination/settings", - "protocol": "https", - "host": [ - "dashboard", - "bandwidth", - "com" - ], - "path": [ - "api", - "accounts", - "{{accountId}}", - "sites", - "{{siteId}}", - "sippeers", - "{{sippeerId}}", - "products", - "origination", - "settings" - ] - } - }, - "response": [] - }, - { - "name": "Add & Update Voice Origination Features on a location", - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/xml", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "\n HTTP\n \n {{applicationId}}\n \n", - "options": { - "raw": { - "language": "xml" - } - } - }, - "url": { - "raw": "https://dashboard.bandwidth.com/api/accounts/{{accountId}}/sites/{{siteId}}/sippeers/{{sippeerId}}/products/origination/settings", - "protocol": "https", - "host": [ - "dashboard", - "bandwidth", - "com" - ], - "path": [ - "api", - "accounts", - "{{accountId}}", - "sites", - "{{siteId}}", - "sippeers", - "{{sippeerId}}", - "products", - "origination", - "settings" - ] - } - }, - "response": [] - }, - { - "name": "List Voice Termination Features on a location", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "https://dashboard.bandwidth.com/api/accounts/{{accountId}}/sites/{{siteId}}/sippeers/{{sippeerId}}/products/termination/settings", - "protocol": "https", - "host": [ - "dashboard", - "bandwidth", - "com" - ], - "path": [ - "api", - "accounts", - "{{accountId}}", - "sites", - "{{siteId}}", - "sippeers", - "{{sippeerId}}", - "products", - "termination", - "settings" - ] - } - }, - "response": [] - }, - { - "name": "List Messaging Application on Location", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "https://dashboard.bandwidth.com/api/accounts/{{accountId}}/sites/{{siteId}}/sippeers/{{sippeerId}}/products/messaging/applicationSettings", - "protocol": "https", - "host": [ - "dashboard", - "bandwidth", - "com" - ], - "path": [ - "api", - "accounts", - "{{accountId}}", - "sites", - "{{siteId}}", - "sippeers", - "{{sippeerId}}", - "products", - "messaging", - "applicationSettings" - ] - } - }, - "response": [] - }, - { - "name": "Assign Messaging Application to SIPPEER (location)", - "request": { - "method": "PUT", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/xml", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "\n {{messaging-applicationId}}\n", - "options": { - "raw": { - "language": "xml" - } - } - }, - "url": { - "raw": "https://dashboard.bandwidth.com/api/accounts/{{accountId}}/sites/{{siteId}}/sippeers/{{sippeerId}}/products/messaging/applicationSettings", - "protocol": "https", - "host": [ - "dashboard", - "bandwidth", - "com" - ], - "path": [ - "api", - "accounts", - "{{accountId}}", - "sites", - "{{siteId}}", - "sippeers", - "{{sippeerId}}", - "products", - "messaging", - "applicationSettings" - ] - } - }, - "response": [] - } - ], - "description": "This is the collection of requests to enable your account for use with HTTP Voice and HTTP Messaging\n\nAt a high level this covers:\n\n* Creating site (subaccount)\n* Creating sippeer (location)\n* Creating Voice application (callback URL management)\n* Creating Messaging application (callback URL management)\n* Assigning applications to sippeers (locations)\n* Enabling the sippeers (locations) to support the HTTP Products", - "event": [ - { - "listen": "prerequest", - "script": { - "id": "b9ea48e4-6910-4541-8c6a-98e9ba12883c", - "type": "text/javascript", - "exec": [ - "" - ] - } - }, - { - "listen": "test", - "script": { - "id": "14b256b1-55f3-4e46-824a-e566042a90e8", - "type": "text/javascript", - "exec": [ - "" - ] - } - } - ], - "protocolProfileBehavior": {}, - "_postman_isSubFolder": true - } - ], - "description": "This is the Account Management tutorials", - "auth": { - "type": "basic", - "basic": [ - { - "key": "username", - "value": "{{username}}", - "type": "string" - }, - { - "key": "password", - "value": "{{password}}", - "type": "string" - } - ] - }, - "event": [ - { - "listen": "prerequest", - "script": { - "id": "c7e5540e-bdaf-415a-89db-0e26939ff8f7", - "type": "text/javascript", - "exec": [ - "" - ] - } - }, - { - "listen": "test", - "script": { - "id": "d917e1f7-8a71-4fe7-8203-73b3337b5da9", - "type": "text/javascript", - "exec": [ - "" - ] - } - } - ], - "protocolProfileBehavior": {} - }, - { - "name": "API Reference", - "item": [ - { - "item": [ - { - "name": "ListMedia", - "request": { - "method": "get", - "url": { - "raw": "https://messaging.bandwidth.com/api/v2/users/{accountId}/media", - "protocol": "https", - "host": [ - "bandwidth", - "com" - ], - "path": [ - "", - "api", - "v2", - "users", - "{{accountId}}", - "media" - ], - "variable": [ - { - "id": "accountId", - "key": "accountId" - } - ] - }, - "header": [ - { - "key": "Continuation-Token", - "value": "" - } - ] - } - }, - { - "name": "GetMedia", - "request": { - "method": "get", - "url": { - "raw": "https://messaging.bandwidth.com/api/v2/users/{accountId}/media/{mediaId}", - "protocol": "https", - "host": [ - "bandwidth", - "com" - ], - "path": [ - "", - "api", - "v2", - "users", - "{{accountId}}", - "media", - ":mediaId" - ], - "variable": [ - { - "id": "accountId", - "key": "accountId" - }, - { - "id": "mediaId", - "key": "mediaId" - } - ] - }, - "header": [] - } - }, - { - "name": "UploadMedia", - "request": { - "method": "put", - "url": { - "raw": "https://messaging.bandwidth.com/api/v2/users/{accountId}/media/{mediaId}", - "protocol": "https", - "host": [ - "bandwidth", - "com" - ], - "path": [ - "", - "api", - "v2", - "users", - "{{accountId}}", - "media", - ":mediaId" - ], - "variable": [ - { - "id": "accountId", - "key": "accountId" - }, - { - "id": "mediaId", - "key": "mediaId" - } - ] - }, - "header": [ - { - "key": "Content-Type", - "value": "" - }, - { - "key": "Cache-Control", - "value": "" - } - ] - } - }, - { - "name": "DeleteMedia", - "request": { - "method": "delete", - "url": { - "raw": "https://messaging.bandwidth.com/api/v2/users/{accountId}/media/{mediaId}", - "protocol": "https", - "host": [ - "bandwidth", - "com" - ], - "path": [ - "", - "api", - "v2", - "users", - "{{accountId}}", - "media", - ":mediaId" - ], - "variable": [ - { - "id": "accountId", - "key": "accountId" - }, - { - "id": "mediaId", - "key": "mediaId" - } - ] - }, - "header": [] - } - }, - { - "name": "GetMessages", - "request": { - "method": "get", - "url": { - "raw": "https://messaging.bandwidth.com/api/v2/users/{accountId}/messages", - "protocol": "https", - "host": [ - "bandwidth", - "com" - ], - "path": [ - "", - "api", - "v2", - "users", - "{{accountId}}", - "messages" - ], - "variable": [ - { - "id": "accountId", - "key": "accountId" - } - ] - }, - "header": [] - } - }, - { - "name": "CreateMessage", - "request": { - "method": "post", - "url": { - "raw": "https://messaging.bandwidth.com/api/v2/users/{accountId}/messages", - "protocol": "https", - "host": [ - "bandwidth", - "com" - ], - "path": [ - "", - "api", - "v2", - "users", - "{{accountId}}", - "messages" - ], - "variable": [ - { - "id": "accountId", - "key": "accountId" - } - ] - }, - "header": [], - "body": { - "options": { - "raw": { - "language": "json" - } - }, - "raw": "{\n \"applicationId\": \"{{MessagingapplicationId}}\",\n \"to\": \"[ string ]\",\n \"from\": \"string\",\n \"text\": \"string\",\n \"media\": \"[ string ]\",\n \"tag\": \"string\",\n \"priority\": \"string\"\n}", - "mode": "raw" - } - } - } - ], - "name": "Messaging", - "auth": { - "type": "basic", - "basic": [ - { - "id": "username", - "key": "username", - "type": "string", - "value": "{{apiToken}}" - }, - { - "id": "password", - "key": "password", - "type": "string", - "value": "{{apiSecret}}" - } - ] - } - }, - { - "item": [ - { - "name": "voiceTwoFactor", - "description": "Allows a user to send a MFA code through a phone call", - "request": { - "method": "post", - "description": "Allows a user to send a MFA code through a phone call", - "url": { - "raw": "https://mfa.bandwidth.com/api/v1/accounts/{accountId}/code/voice", - "protocol": "https", - "host": [ - "bandwidth", - "com" - ], - "path": [ - "", - "api", - "v1", - "accounts", - "{{accountId}}", - "code", - "voice" - ], - "variable": [ - { - "id": "accountId", - "key": "accountId" - } - ] - }, - "header": [], - "body": { - "options": { - "raw": { - "language": "json" - } - }, - "raw": "{\n \"to\": \"string\",\n \"from\": \"string\",\n \"applicationId\": \"{{MultiFactorAuthapplicationId}}\",\n \"scope\": \"string\",\n \"message\": \"string\",\n \"digits\": \"number\"\n}", - "mode": "raw" - } - } - }, - { - "name": "messagingTwoFactor", - "description": "Allows a user to send a MFA code through a text message (SMS)", - "request": { - "method": "post", - "description": "Allows a user to send a MFA code through a text message (SMS)", - "url": { - "raw": "https://mfa.bandwidth.com/api/v1/accounts/{accountId}/code/messaging", - "protocol": "https", - "host": [ - "bandwidth", - "com" - ], - "path": [ - "", - "api", - "v1", - "accounts", - "{{accountId}}", - "code", - "messaging" - ], - "variable": [ - { - "id": "accountId", - "key": "accountId" - } - ] - }, - "header": [], - "body": { - "options": { - "raw": { - "language": "json" - } - }, - "raw": "{\n \"to\": \"string\",\n \"from\": \"string\",\n \"applicationId\": \"{{MultiFactorAuthapplicationId}}\",\n \"scope\": \"string\",\n \"message\": \"string\",\n \"digits\": \"number\"\n}", - "mode": "raw" - } - } - }, - { - "name": "verifyTwoFactor", - "description": "Allows a user to verify an MFA code", - "request": { - "method": "post", - "description": "Allows a user to verify an MFA code", - "url": { - "raw": "https://mfa.bandwidth.com/api/v1/accounts/{accountId}/code/verify", - "protocol": "https", - "host": [ - "bandwidth", - "com" - ], - "path": [ - "", - "api", - "v1", - "accounts", - "{{accountId}}", - "code", - "verify" - ], - "variable": [ - { - "id": "accountId", - "key": "accountId" - } - ] - }, - "header": [], - "body": { - "options": { - "raw": { - "language": "json" - } - }, - "raw": "{\n \"to\": \"string\",\n \"applicationId\": \"{{MultiFactorAuthapplicationId}}\",\n \"scope\": \"string\",\n \"expirationTimeInMinutes\": \"number\",\n \"code\": \"string\"\n}", - "mode": "raw" - } - } - } - ], - "name": "MultiFactorAuth", - "auth": { - "type": "basic", - "basic": [ - { - "id": "username", - "key": "username", - "type": "string", - "value": "{{username}}" - }, - { - "id": "password", - "key": "password", - "type": "string", - "value": "{{password}}" - } - ] - } - }, - { - "item": [ - { - "name": "TnLookupRequest", - "request": { - "method": "post", - "url": { - "raw": "https://uat.numbers.bandwidth.com/api/v1/tnlookup", - "protocol": "https", - "host": [ - "numbers", - "bandwidth", - "com" - ], - "path": [ - "", - "api", - "v1", - "tnlookup" - ], - "variable": [] - }, - "header": [ - { - "key": "X-accountId", - "value": "" - } - ], - "body": { - "options": { - "raw": { - "language": "json" - } - }, - "raw": "{\n \"tns\": \"[ string ]\"\n}", - "mode": "raw" - } - } - }, - { - "name": "GetTnLookupResult", - "request": { - "method": "get", - "url": { - "raw": "https://uat.numbers.bandwidth.com/api/v1/tnlookup/{requestId}", - "protocol": "https", - "host": [ - "numbers", - "bandwidth", - "com" - ], - "path": [ - "", - "api", - "v1", - "tnlookup", - ":requestId" - ], - "variable": [ - { - "id": "requestId", - "key": "requestId" - } - ] - }, - "header": [] - } - } - ], - "name": "PhoneNumberLookup", - "auth": { - "type": "basic", - "basic": [ - { - "id": "username", - "key": "username", - "type": "string", - "value": "{{username}}" - }, - { - "id": "password", - "key": "password", - "type": "string", - "value": "{{password}}" - } - ] - } - }, - { - "item": [ - { - "name": "createCall", - "description": "", - "request": { - "method": "post", - "description": "", - "url": { - "raw": "https://voice.bandwidth.com/api/v2/accounts/{accountId}/calls", - "protocol": "https", - "host": [ - "bandwidth", - "com" - ], - "path": [ - "", - "api", - "v2", - "accounts", - "{{accountId}}", - "calls" - ], - "variable": [ - { - "id": "accountId", - "key": "accountId" - } - ] - }, - "header": [], - "body": { - "options": { - "raw": { - "language": "json" - } - }, - "raw": "{\n \"from\": \"string\",\n \"to\": \"string\",\n \"uui\": \"string\",\n \"callTimeout\": \"number\",\n \"callbackTimeout\": \"number\",\n \"answerUrl\": \"string\",\n \"answerFallbackUrl\": \"string\",\n \"username\": \"string\",\n \"password\": \"string\",\n \"fallbackUsername\": \"string\",\n \"fallbackPassword\": \"string\",\n \"answerMethod\": \"string\",\n \"answerFallbackMethod\": \"string\",\n \"disconnectUrl\": \"string\",\n \"disconnectMethod\": \"string\",\n \"tag\": \"string\",\n \"applicationId\": \"{{VoiceapplicationId}}\"\n}", - "mode": "raw" - } - } - }, - { - "name": "getCall", - "description": "", - "request": { - "method": "get", - "description": "", - "url": { - "raw": "https://voice.bandwidth.com/api/v2/accounts/{accountId}/calls/{callId}", - "protocol": "https", - "host": [ - "bandwidth", - "com" - ], - "path": [ - "", - "api", - "v2", - "accounts", - "{{accountId}}", - "calls", - ":callId" - ], - "variable": [ - { - "id": "accountId", - "key": "accountId" - }, - { - "id": "callId", - "key": "callId" - } - ] - }, - "header": [] - } - }, - { - "name": "modifyCall", - "description": "", - "request": { - "method": "post", - "description": "", - "url": { - "raw": "https://voice.bandwidth.com/api/v2/accounts/{accountId}/calls/{callId}", - "protocol": "https", - "host": [ - "bandwidth", - "com" - ], - "path": [ - "", - "api", - "v2", - "accounts", - "{{accountId}}", - "calls", - ":callId" - ], - "variable": [ - { - "id": "accountId", - "key": "accountId" - }, - { - "id": "callId", - "key": "callId" - } - ] - }, - "header": [], - "body": { - "options": { - "raw": { - "language": "json" - } - }, - "raw": "{\n \"state\": \"string\",\n \"redirectUrl\": \"string\",\n \"redirectFallbackUrl\": \"string\",\n \"redirectMethod\": \"string\",\n \"redirectFallbackMethod\": \"string\",\n \"username\": \"string\",\n \"password\": \"string\",\n \"fallbackUsername\": \"string\",\n \"fallbackPassword\": \"string\",\n \"tag\": \"string\"\n}", - "mode": "raw" - } - } - }, - { - "name": "modifyCallRecordingState", - "description": "", - "request": { - "method": "put", - "description": "", - "url": { - "raw": "https://voice.bandwidth.com/api/v2/accounts/{accountId}/calls/{callId}/recording", - "protocol": "https", - "host": [ - "bandwidth", - "com" - ], - "path": [ - "", - "api", - "v2", - "accounts", - "{{accountId}}", - "calls", - ":callId", - "recording" - ], - "variable": [ - { - "id": "accountId", - "key": "accountId" - }, - { - "id": "callId", - "key": "callId" - } - ] - }, - "header": [], - "body": { - "options": { - "raw": { - "language": "json" - } - }, - "raw": "{\n \"state\": \"string\"\n}", - "mode": "raw" - } - } - }, - { - "name": "getCallRecordings", - "description": "Returns a (potentially empty) list of metadata for the recordings that took place during the specified call", - "request": { - "method": "get", - "description": "Returns a (potentially empty) list of metadata for the recordings that took place during the specified call", - "url": { - "raw": "https://voice.bandwidth.com/api/v2/accounts/{accountId}/calls/{callId}/recordings", - "protocol": "https", - "host": [ - "bandwidth", - "com" - ], - "path": [ - "", - "api", - "v2", - "accounts", - "{{accountId}}", - "calls", - ":callId", - "recordings" - ], - "variable": [ - { - "id": "accountId", - "key": "accountId" - }, - { - "id": "callId", - "key": "callId" - } - ] - }, - "header": [] - } - }, - { - "name": "getCallRecording", - "description": "", - "request": { - "method": "get", - "description": "", - "url": { - "raw": "https://voice.bandwidth.com/api/v2/accounts/{accountId}/calls/{callId}/recordings/{recordingId}", - "protocol": "https", - "host": [ - "bandwidth", - "com" - ], - "path": [ - "", - "api", - "v2", - "accounts", - "{{accountId}}", - "calls", - ":callId", - "recordings", - ":recordingId" - ], - "variable": [ - { - "id": "accountId", - "key": "accountId" - }, - { - "id": "callId", - "key": "callId" - }, - { - "id": "recordingId", - "key": "recordingId" - } - ] - }, - "header": [] - } - }, - { - "name": "deleteRecording", - "description": "", - "request": { - "method": "delete", - "description": "", - "url": { - "raw": "https://voice.bandwidth.com/api/v2/accounts/{accountId}/calls/{callId}/recordings/{recordingId}", - "protocol": "https", - "host": [ - "bandwidth", - "com" - ], - "path": [ - "", - "api", - "v2", - "accounts", - "{{accountId}}", - "calls", - ":callId", - "recordings", - ":recordingId" - ], - "variable": [ - { - "id": "accountId", - "key": "accountId" - }, - { - "id": "callId", - "key": "callId" - }, - { - "id": "recordingId", - "key": "recordingId" - } - ] - }, - "header": [] - } - }, - { - "name": "downloadCallRecording", - "description": "", - "request": { - "method": "get", - "description": "", - "url": { - "raw": "https://voice.bandwidth.com/api/v2/accounts/{accountId}/calls/{callId}/recordings/{recordingId}/media", - "protocol": "https", - "host": [ - "bandwidth", - "com" - ], - "path": [ - "", - "api", - "v2", - "accounts", - "{{accountId}}", - "calls", - ":callId", - "recordings", - ":recordingId", - "media" - ], - "variable": [ - { - "id": "accountId", - "key": "accountId" - }, - { - "id": "callId", - "key": "callId" - }, - { - "id": "recordingId", - "key": "recordingId" - } - ] - }, - "header": [] - } - }, - { - "name": "deleteRecordingMedia", - "description": "", - "request": { - "method": "delete", - "description": "", - "url": { - "raw": "https://voice.bandwidth.com/api/v2/accounts/{accountId}/calls/{callId}/recordings/{recordingId}/media", - "protocol": "https", - "host": [ - "bandwidth", - "com" - ], - "path": [ - "", - "api", - "v2", - "accounts", - "{{accountId}}", - "calls", - ":callId", - "recordings", - ":recordingId", - "media" - ], - "variable": [ - { - "id": "accountId", - "key": "accountId" - }, - { - "id": "callId", - "key": "callId" - }, - { - "id": "recordingId", - "key": "recordingId" - } - ] - }, - "header": [] - } - }, - { - "name": "getCallTranscription", - "description": "", - "request": { - "method": "get", - "description": "", - "url": { - "raw": "https://voice.bandwidth.com/api/v2/accounts/{accountId}/calls/{callId}/recordings/{recordingId}/transcription", - "protocol": "https", - "host": [ - "bandwidth", - "com" - ], - "path": [ - "", - "api", - "v2", - "accounts", - "{{accountId}}", - "calls", - ":callId", - "recordings", - ":recordingId", - "transcription" - ], - "variable": [ - { - "id": "accountId", - "key": "accountId" - }, - { - "id": "callId", - "key": "callId" - }, - { - "id": "recordingId", - "key": "recordingId" - } - ] - }, - "header": [] - } - }, - { - "name": "transcribeCallRecording", - "description": "", - "request": { - "method": "post", - "description": "", - "url": { - "raw": "https://voice.bandwidth.com/api/v2/accounts/{accountId}/calls/{callId}/recordings/{recordingId}/transcription", - "protocol": "https", - "host": [ - "bandwidth", - "com" - ], - "path": [ - "", - "api", - "v2", - "accounts", - "{{accountId}}", - "calls", - ":callId", - "recordings", - ":recordingId", - "transcription" - ], - "variable": [ - { - "id": "accountId", - "key": "accountId" - }, - { - "id": "callId", - "key": "callId" - }, - { - "id": "recordingId", - "key": "recordingId" - } - ] - }, - "header": [], - "body": { - "options": { - "raw": { - "language": "json" - } - }, - "raw": "{\n \"callbackUrl\": \"string\",\n \"callbackMethod\": \"string\",\n \"username\": \"string\",\n \"password\": \"string\",\n \"tag\": \"string\",\n \"callbackTimeout\": \"number\"\n}", - "mode": "raw" - } - } - }, - { - "name": "deleteCallTranscription", - "description": "", - "request": { - "method": "delete", - "description": "", - "url": { - "raw": "https://voice.bandwidth.com/api/v2/accounts/{accountId}/calls/{callId}/recordings/{recordingId}/transcription", - "protocol": "https", - "host": [ - "bandwidth", - "com" - ], - "path": [ - "", - "api", - "v2", - "accounts", - "{{accountId}}", - "calls", - ":callId", - "recordings", - ":recordingId", - "transcription" - ], - "variable": [ - { - "id": "accountId", - "key": "accountId" - }, - { - "id": "callId", - "key": "callId" - }, - { - "id": "recordingId", - "key": "recordingId" - } - ] - }, - "header": [] - } - }, - { - "name": "getConferences", - "description": "", - "request": { - "method": "get", - "description": "", - "url": { - "raw": "https://voice.bandwidth.com/api/v2/accounts/{accountId}/conferences", - "protocol": "https", - "host": [ - "bandwidth", - "com" - ], - "path": [ - "", - "api", - "v2", - "accounts", - "{{accountId}}", - "conferences" - ], - "variable": [ - { - "id": "accountId", - "key": "accountId" - } - ] - }, - "header": [] - } - }, - { - "name": "getConference", - "description": "", - "request": { - "method": "get", - "description": "", - "url": { - "raw": "https://voice.bandwidth.com/api/v2/accounts/{accountId}/conferences/{conferenceId}", - "protocol": "https", - "host": [ - "bandwidth", - "com" - ], - "path": [ - "", - "api", - "v2", - "accounts", - "{{accountId}}", - "conferences", - ":conferenceId" - ], - "variable": [ - { - "id": "accountId", - "key": "accountId" - }, - { - "id": "conferenceId", - "key": "conferenceId" - } - ] - }, - "header": [] - } - }, - { - "name": "modifyConference", - "description": "", - "request": { - "method": "post", - "description": "", - "url": { - "raw": "https://voice.bandwidth.com/api/v2/accounts/{accountId}/conferences/{conferenceId}", - "protocol": "https", - "host": [ - "bandwidth", - "com" - ], - "path": [ - "", - "api", - "v2", - "accounts", - "{{accountId}}", - "conferences", - ":conferenceId" - ], - "variable": [ - { - "id": "accountId", - "key": "accountId" - }, - { - "id": "conferenceId", - "key": "conferenceId" - } - ] - }, - "header": [], - "body": { - "options": { - "raw": { - "language": "json" - } - }, - "raw": "{\n \"status\": \"string\",\n \"redirectUrl\": \"string\",\n \"redirectFallbackUrl\": \"string\",\n \"redirectMethod\": \"string\",\n \"redirectFallbackMethod\": \"string\",\n \"username\": \"string\",\n \"password\": \"string\",\n \"fallbackUsername\": \"string\",\n \"fallbackPassword\": \"string\"\n}", - "mode": "raw" - } - } - }, - { - "name": "modifyConferenceMember", - "description": "", - "request": { - "method": "put", - "description": "", - "url": { - "raw": "https://voice.bandwidth.com/api/v2/accounts/{accountId}/conferences/{conferenceId}/members/{callId}", - "protocol": "https", - "host": [ - "bandwidth", - "com" - ], - "path": [ - "", - "api", - "v2", - "accounts", - "{{accountId}}", - "conferences", - ":conferenceId", - "members", - ":callId" - ], - "variable": [ - { - "id": "accountId", - "key": "accountId" - }, - { - "id": "conferenceId", - "key": "conferenceId" - }, - { - "id": "callId", - "key": "callId" - } - ] - }, - "header": [], - "body": { - "options": { - "raw": { - "language": "json" - } - }, - "raw": "{\n \"callId\": \"string\",\n \"conferenceId\": \"string\",\n \"memberUrl\": \"string\",\n \"mute\": \"boolean\",\n \"hold\": \"boolean\",\n \"callIdsToCoach\": \"[ string ]\"\n}", - "mode": "raw" - } - } - }, - { - "name": "getConferenceMember", - "description": "", - "request": { - "method": "get", - "description": "", - "url": { - "raw": "https://voice.bandwidth.com/api/v2/accounts/{accountId}/conferences/{conferenceId}/members/{memberId}", - "protocol": "https", - "host": [ - "bandwidth", - "com" - ], - "path": [ - "", - "api", - "v2", - "accounts", - "{{accountId}}", - "conferences", - ":conferenceId", - "members", - ":memberId" - ], - "variable": [ - { - "id": "accountId", - "key": "accountId" - }, - { - "id": "conferenceId", - "key": "conferenceId" - }, - { - "id": "memberId", - "key": "memberId" - } - ] - }, - "header": [] - } - }, - { - "name": "getConferenceRecordings", - "description": "Returns a (potentially empty) list of metadata for the recordings that took place during the specified conference", - "request": { - "method": "get", - "description": "Returns a (potentially empty) list of metadata for the recordings that took place during the specified conference", - "url": { - "raw": "https://voice.bandwidth.com/api/v2/accounts/{accountId}/conferences/{conferenceId}/recordings", - "protocol": "https", - "host": [ - "bandwidth", - "com" - ], - "path": [ - "", - "api", - "v2", - "accounts", - "{{accountId}}", - "conferences", - ":conferenceId", - "recordings" - ], - "variable": [ - { - "id": "accountId", - "key": "accountId" - }, - { - "id": "conferenceId", - "key": "conferenceId" - } - ] - }, - "header": [] - } - }, - { - "name": "getConferenceRecording", - "description": "", - "request": { - "method": "get", - "description": "", - "url": { - "raw": "https://voice.bandwidth.com/api/v2/accounts/{accountId}/conferences/{conferenceId}/recordings/{recordingId}", - "protocol": "https", - "host": [ - "bandwidth", - "com" - ], - "path": [ - "", - "api", - "v2", - "accounts", - "{{accountId}}", - "conferences", - ":conferenceId", - "recordings", - ":recordingId" - ], - "variable": [ - { - "id": "accountId", - "key": "accountId" - }, - { - "id": "conferenceId", - "key": "conferenceId" - }, - { - "id": "recordingId", - "key": "recordingId" - } - ] - }, - "header": [] - } - }, - { - "name": "downloadConferenceRecording", - "description": "", - "request": { - "method": "get", - "description": "", - "url": { - "raw": "https://voice.bandwidth.com/api/v2/accounts/{accountId}/conferences/{conferenceId}/recordings/{recordingId}/media", - "protocol": "https", - "host": [ - "bandwidth", - "com" - ], - "path": [ - "", - "api", - "v2", - "accounts", - "{{accountId}}", - "conferences", - ":conferenceId", - "recordings", - ":recordingId", - "media" - ], - "variable": [ - { - "id": "accountId", - "key": "accountId" - }, - { - "id": "conferenceId", - "key": "conferenceId" - }, - { - "id": "recordingId", - "key": "recordingId" - } - ] - }, - "header": [] - } - }, - { - "name": "queryCallRecordings", - "description": "Returns a list of metadata for the recordings associated with the specified account. The list can be filtered by the optional from, to, minStartTime, and maxStartTime arguments. The list is capped at 1000 entries and may be empty if no recordings match the specified criteria.", - "request": { - "method": "get", - "description": "Returns a list of metadata for the recordings associated with the specified account. The list can be filtered by the optional from, to, minStartTime, and maxStartTime arguments. The list is capped at 1000 entries and may be empty if no recordings match the specified criteria.", - "url": { - "raw": "https://voice.bandwidth.com/api/v2/accounts/{accountId}/recordings", - "protocol": "https", - "host": [ - "bandwidth", - "com" - ], - "path": [ - "", - "api", - "v2", - "accounts", - "{{accountId}}", - "recordings" - ], - "variable": [ - { - "id": "accountId", - "key": "accountId" - } - ] - }, - "header": [] - } - } - ], - "name": "Voice", - "auth": { - "type": "basic", - "basic": [ - { - "id": "username", - "key": "username", - "type": "string", - "value": "{{username}}" - }, - { - "id": "password", - "key": "password", - "type": "string", - "value": "{{password}}" - } - ] - } - }, - { - "item": [ - { - "name": "createParticipant", - "description": "Create a new participant under this account\n\nParticipants are idempotent, so relevant parameters must be set in this function if desired\n", - "request": { - "method": "post", - "description": "Create a new participant under this account\n\nParticipants are idempotent, so relevant parameters must be set in this function if desired\n", - "url": { - "raw": "https://api.webrtc.bandwidth.com/v1/accounts/{accountId}/participants", - "protocol": "https", - "host": [ - "webrtc", - "bandwidth", - "com" - ], - "path": [ - "", - "v1", - "accounts", - "{{accountId}}", - "participants" - ], - "variable": [ - { - "id": "accountId", - "key": "accountId" - } - ] - }, - "header": [], - "body": { - "options": { - "raw": { - "language": "json" - } - }, - "raw": "{\n \"id\": \"string\",\n \"callbackUrl\": \"string\",\n \"publishPermissions\": \"[ string ]\",\n \"sessions\": \"[ string ]\",\n \"subscriptions\": {\n \"sessionId\": \"string\",\n \"participants\": [\n {\n \"participantId\": \"string\"\n }\n ]\n },\n \"tag\": \"string\",\n \"deviceApiVersion\": \"string\"\n}", - "mode": "raw" - } - } - }, - { - "name": "getParticipant", - "description": "Get participant by ID", - "request": { - "method": "get", - "description": "Get participant by ID", - "url": { - "raw": "https://api.webrtc.bandwidth.com/v1/accounts/{accountId}/participants/{participantId}", - "protocol": "https", - "host": [ - "webrtc", - "bandwidth", - "com" - ], - "path": [ - "", - "v1", - "accounts", - "{{accountId}}", - "participants", - ":participantId" - ], - "variable": [ - { - "id": "accountId", - "key": "accountId" - }, - { - "id": "participantId", - "key": "participantId" - } - ] - }, - "header": [] - } - }, - { - "name": "deleteParticipant", - "description": "Delete participant by ID", - "request": { - "method": "delete", - "description": "Delete participant by ID", - "url": { - "raw": "https://api.webrtc.bandwidth.com/v1/accounts/{accountId}/participants/{participantId}", - "protocol": "https", - "host": [ - "webrtc", - "bandwidth", - "com" - ], - "path": [ - "", - "v1", - "accounts", - "{{accountId}}", - "participants", - ":participantId" - ], - "variable": [ - { - "id": "accountId", - "key": "accountId" - }, - { - "id": "participantId", - "key": "participantId" - } - ] - }, - "header": [] - } - }, - { - "name": "createSession", - "description": "Create a new session\n\nSessions are idempotent, so relevant parameters must be set in this function if desired\n", - "request": { - "method": "post", - "description": "Create a new session\n\nSessions are idempotent, so relevant parameters must be set in this function if desired\n", - "url": { - "raw": "https://api.webrtc.bandwidth.com/v1/accounts/{accountId}/sessions", - "protocol": "https", - "host": [ - "webrtc", - "bandwidth", - "com" - ], - "path": [ - "", - "v1", - "accounts", - "{{accountId}}", - "sessions" - ], - "variable": [ - { - "id": "accountId", - "key": "accountId" - } - ] - }, - "header": [], - "body": { - "options": { - "raw": { - "language": "json" - } - }, - "raw": "{\n \"id\": \"string\",\n \"tag\": \"string\"\n}", - "mode": "raw" - } - } - }, - { - "name": "getSession", - "description": "Get session by ID", - "request": { - "method": "get", - "description": "Get session by ID", - "url": { - "raw": "https://api.webrtc.bandwidth.com/v1/accounts/{accountId}/sessions/{sessionId}", - "protocol": "https", - "host": [ - "webrtc", - "bandwidth", - "com" - ], - "path": [ - "", - "v1", - "accounts", - "{{accountId}}", - "sessions", - ":sessionId" - ], - "variable": [ - { - "id": "accountId", - "key": "accountId" - }, - { - "id": "sessionId", - "key": "sessionId" - } - ] - }, - "header": [] - } - }, - { - "name": "deleteSession", - "description": "Delete session by ID", - "request": { - "method": "delete", - "description": "Delete session by ID", - "url": { - "raw": "https://api.webrtc.bandwidth.com/v1/accounts/{accountId}/sessions/{sessionId}", - "protocol": "https", - "host": [ - "webrtc", - "bandwidth", - "com" - ], - "path": [ - "", - "v1", - "accounts", - "{{accountId}}", - "sessions", - ":sessionId" - ], - "variable": [ - { - "id": "accountId", - "key": "accountId" - }, - { - "id": "sessionId", - "key": "sessionId" - } - ] - }, - "header": [] - } - }, - { - "name": "listSessionParticipants", - "description": "List participants in a session", - "request": { - "method": "get", - "description": "List participants in a session", - "url": { - "raw": "https://api.webrtc.bandwidth.com/v1/accounts/{accountId}/sessions/{sessionId}/participants", - "protocol": "https", - "host": [ - "webrtc", - "bandwidth", - "com" - ], - "path": [ - "", - "v1", - "accounts", - "{{accountId}}", - "sessions", - ":sessionId", - "participants" - ], - "variable": [ - { - "id": "accountId", - "key": "accountId" - }, - { - "id": "sessionId", - "key": "sessionId" - } - ] - }, - "header": [] - } - }, - { - "name": "addParticipantToSession", - "description": "Add a participant to a session\n\nSubscriptions can optionally be provided as part of this call\n", - "request": { - "method": "put", - "description": "Add a participant to a session\n\nSubscriptions can optionally be provided as part of this call\n", - "url": { - "raw": "https://api.webrtc.bandwidth.com/v1/accounts/{accountId}/sessions/{sessionId}/participants/{participantId}", - "protocol": "https", - "host": [ - "webrtc", - "bandwidth", - "com" - ], - "path": [ - "", - "v1", - "accounts", - "{{accountId}}", - "sessions", - ":sessionId", - "participants", - ":participantId" - ], - "variable": [ - { - "id": "accountId", - "key": "accountId" - }, - { - "id": "sessionId", - "key": "sessionId" - }, - { - "id": "participantId", - "key": "participantId" - } - ] - }, - "header": [], - "body": { - "options": { - "raw": { - "language": "json" - } - }, - "raw": "{\n \"sessionId\": \"string\",\n \"participants\": [\n {\n \"participantId\": \"string\"\n }\n ]\n}", - "mode": "raw" - } - } - }, - { - "name": "removeParticipantFromSession", - "description": "Remove a participant from a session\n\nThis will automatically remove any subscriptions the participant has associated with this session\n", - "request": { - "method": "delete", - "description": "Remove a participant from a session\n\nThis will automatically remove any subscriptions the participant has associated with this session\n", - "url": { - "raw": "https://api.webrtc.bandwidth.com/v1/accounts/{accountId}/sessions/{sessionId}/participants/{participantId}", - "protocol": "https", - "host": [ - "webrtc", - "bandwidth", - "com" - ], - "path": [ - "", - "v1", - "accounts", - "{{accountId}}", - "sessions", - ":sessionId", - "participants", - ":participantId" - ], - "variable": [ - { - "id": "accountId", - "key": "accountId" - }, - { - "id": "participantId", - "key": "participantId" - }, - { - "id": "sessionId", - "key": "sessionId" - } - ] - }, - "header": [] - } - }, - { - "name": "getParticipantSubscriptions", - "description": "Get a participant's subscriptions", - "request": { - "method": "get", - "description": "Get a participant's subscriptions", - "url": { - "raw": "https://api.webrtc.bandwidth.com/v1/accounts/{accountId}/sessions/{sessionId}/participants/{participantId}/subscriptions", - "protocol": "https", - "host": [ - "webrtc", - "bandwidth", - "com" - ], - "path": [ - "", - "v1", - "accounts", - "{{accountId}}", - "sessions", - ":sessionId", - "participants", - ":participantId", - "subscriptions" - ], - "variable": [ - { - "id": "accountId", - "key": "accountId" - }, - { - "id": "participantId", - "key": "participantId" - }, - { - "id": "sessionId", - "key": "sessionId" - } - ] - }, - "header": [] - } - }, - { - "name": "updateParticipantSubscriptions", - "description": "Update a participant's subscriptions\n\nThis is a full update that will replace the participant's subscriptions. First call `getParticipantSubscriptions` if you need the current subscriptions. Call this function with no `Subscriptions` object to remove all subscriptions\n", - "request": { - "method": "put", - "description": "Update a participant's subscriptions\n\nThis is a full update that will replace the participant's subscriptions. First call `getParticipantSubscriptions` if you need the current subscriptions. Call this function with no `Subscriptions` object to remove all subscriptions\n", - "url": { - "raw": "https://api.webrtc.bandwidth.com/v1/accounts/{accountId}/sessions/{sessionId}/participants/{participantId}/subscriptions", - "protocol": "https", - "host": [ - "webrtc", - "bandwidth", - "com" - ], - "path": [ - "", - "v1", - "accounts", - "{{accountId}}", - "sessions", - ":sessionId", - "participants", - ":participantId", - "subscriptions" - ], - "variable": [ - { - "id": "accountId", - "key": "accountId" - }, - { - "id": "participantId", - "key": "participantId" - }, - { - "id": "sessionId", - "key": "sessionId" - } - ] - }, - "header": [], - "body": { - "options": { - "raw": { - "language": "json" - } - }, - "raw": "{\n \"sessionId\": \"string\",\n \"participants\": [\n {\n \"participantId\": \"string\"\n }\n ]\n}", - "mode": "raw" - } - } - } - ], - "name": "WebRtc", - "auth": { - "type": "basic", - "basic": [ - { - "id": "username", - "key": "username", - "type": "string", - "value": "{{username}}" - }, - { - "id": "password", - "key": "password", - "type": "string", - "value": "{{password}}" - } - ] - } - } - ], - "description": "This is an API reference of all Bandwidth endpoints", - "protocolProfileBehavior": {} - } - ], - "event": [ - { - "listen": "prerequest", - "script": { - "id": "c9386610-d917-460d-b2d2-50da1bbab8ca", - "type": "text/javascript", - "exec": [ - "" - ] - } - }, - { - "listen": "test", - "script": { - "id": "88c69f17-15f5-4045-8fae-1e223fb7a13e", - "type": "text/javascript", - "exec": [ - "" - ] - } - } - ], - "variable": [ - { - "id": "3c9513a7-f419-4073-a024-b0bab0eab956", - "key": "apiToken", - "value": "", - "type": "string" - }, - { - "id": "f092b34f-4528-44f5-800b-6d7e5e954d14", - "key": "apiSecret", - "value": "", - "type": "string" - }, - { - "id": "bc09a80b-8f85-476f-85eb-a746fe22eb90", - "key": "username", - "value": "", - "type": "string" - }, - { - "id": "8d658a18-dda9-40b8-bfe1-59e01d76082c", - "key": "password", - "value": "", - "type": "string" - }, - { - "id": "695b8a23-0296-4442-9aa7-b9b10a8a1115", - "key": "accountId", - "value": "", - "type": "string" - }, - { - "id": "0cec8937-2c88-4706-b042-286ff8fd9d86", - "key": "siteId", - "value": "", - "type": "string" - }, - { - "id": "97f9e13f-30a9-4c05-a76f-9db9cb78604a", - "key": "userId", - "value": "", - "type": "string" - }, - { - "id": "b7100c6d-c086-464f-9581-ad6646992f1c", - "key": "sipPeerId", - "value": "", - "type": "string" - }, - { - "id": "b96590f0-86d1-4b90-9e07-6c034f21eefd", - "key": "MessagingApplicationId", - "value": "", - "type": "string" - }, - { - "id": "57035e79-3f57-4752-bcba-4af2b9ecaae6", - "key": "VoiceApplicationId", - "value": "", - "type": "string" - }, - { - "id": "a75535de-c94c-45e8-88d5-2cd65cc28779", - "key": "NumbersApplicationId", - "value": "", - "type": "string" - } - ], - "protocolProfileBehavior": {} -} \ No newline at end of file diff --git a/postman/resources/postman_scaffold_collection.json b/postman/resources/postman_scaffold_collection.json deleted file mode 100644 index 615af31ee..000000000 --- a/postman/resources/postman_scaffold_collection.json +++ /dev/null @@ -1,1907 +0,0 @@ -{ - "info": { - "_postman_id": "4e178b36-ef80-4fd3-876c-3f380c589154", - "name": "Bandwidth API Collection", - "description": "This is the Bandwidth Collection. It contains an API reference and tutorials for the basic functionality of the Voice, Messaging, Numbers, and Account APIs.", - "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json" - }, - "item": [ - { - "name": "Messaging Tutorials", - "item": [ - { - "name": "Send Message", - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/json", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"to\": \"{{toNumber}}\",\n \"from\": \"{{fromNumber}}\",\n \"text\": \"{{text}}\",\n \"applicationId\": \"{{messagingApplicationId}}\"\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "https://messaging.bandwidth.com/api/v2/users/{{accountId}}/messages", - "protocol": "https", - "host": [ - "messaging", - "bandwidth", - "com" - ], - "path": [ - "api", - "v2", - "users", - "{{accountId}}", - "messages" - ] - }, - "description": "Sends a text message" - }, - "response": [] - }, - { - "name": "Send Group Message", - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "{\n\t\"to\": [\"{{toNumberA}}\", \"{{toNumberB}}\"],\n\t\"from\": \"{{fromNumber}}\",\n\t\"text\": \"{{text}}\",\n \"applicationId\": \"{{messagingApplicationId}}\"\n}" - }, - "url": { - "raw": "https://messaging.bandwidth.com/api/v2/users/{{accountId}}/messages", - "protocol": "https", - "host": [ - "messaging", - "bandwidth", - "com" - ], - "path": [ - "api", - "v2", - "users", - "{{accountId}}", - "messages" - ] - }, - "description": "Sends a group text message" - }, - "response": [] - }, - { - "name": "Send MMS", - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "{\n\t\"to\": \"{{toNumber}}\",\n\t\"from\": \"{{fromNumber}}\",\n\t\"text\": \"{{text}}\",\n \"applicationId\": \"{{messagingApplicationId}}\",\n\t\"media\": [\"{{mediaUrlA}}\", \"{{mediaUrlB}}\"]\n}" - }, - "url": { - "raw": "https://messaging.bandwidth.com/api/v2/users/{{accountId}}/messages", - "protocol": "https", - "host": [ - "messaging", - "bandwidth", - "com" - ], - "path": [ - "api", - "v2", - "users", - "{{accountId}}", - "messages" - ] - }, - "description": "Sends a MMS message with a media attachment" - }, - "response": [] - }, - { - "name": "Send Group MMS", - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "{\n\t\"to\": [\"{{toNumberA}}\", \"{{toNumberB}}\"],\n\t\"from\": \"{{fromNumber}}\",\n\t\"text\": \"{{text}}\",\n \"applicationId\": \"{{messagingApplicationId}}\",\n\t\"media\": [\"{{mediaUrlA}}\", \"{{mediaUrlB}}\"]\n}" - }, - "url": { - "raw": "https://messaging.bandwidth.com/api/v2/users/{{accountId}}/messages", - "protocol": "https", - "host": [ - "messaging", - "bandwidth", - "com" - ], - "path": [ - "api", - "v2", - "users", - "{{accountId}}", - "messages" - ] - }, - "description": "Sends a group MMS message with a media attachment" - }, - "response": [] - } - ], - "description": "This is the Bandwidth Messaging tutorials. In order to use these endpoints you will need your applicationId and at least 1 Bandwidth phone number. More information can be found on https://dev.bandwidth.com/messaging/about.html", - "auth": { - "type": "basic", - "basic": [ - { - "key": "password", - "value": "{{password}}", - "type": "string" - }, - { - "key": "username", - "value": "{{username}}", - "type": "string" - } - ] - }, - "event": [ - { - "listen": "prerequest", - "script": { - "id": "0d07c64f-a4d9-4cc9-96f5-a7ca18117b45", - "type": "text/javascript", - "exec": [ - "" - ] - } - }, - { - "listen": "test", - "script": { - "id": "6a6630b5-6a61-4732-a339-44993c7e430b", - "type": "text/javascript", - "exec": [ - "" - ] - } - } - ], - "protocolProfileBehavior": {} - }, - { - "name": "Voice Tutorials", - "item": [ - { - "name": "Create Phone Call", - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "{\n \"from\" : \"{{fromNumber}}\",\n \"to\" : \"{{toNumber}}\",\n \"answerUrl\" : \"{{answerUrl}}\",\n \"applicationId\" : \"{{voiceApplicationId}}\"\n}" - }, - "url": { - "raw": "https://voice.bandwidth.com/api/v2/accounts/{{accountId}}/calls/", - "protocol": "https", - "host": [ - "voice", - "bandwidth", - "com" - ], - "path": [ - "api", - "v2", - "accounts", - "{{accountId}}", - "calls", - "" - ] - }, - "description": "Creates a new phone call" - }, - "response": [] - }, - { - "name": "Modify Phone Call", - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "type": "text", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n\t\"state\": \"active\",\n \"redirectUrl\": \"{{redirectUrl}}\"\n}" - }, - "url": { - "raw": "https://voice.bandwidth.com/api/v2/accounts/{{accountId}}/calls/{{callId}}", - "protocol": "https", - "host": [ - "voice", - "bandwidth", - "com" - ], - "path": [ - "api", - "v2", - "accounts", - "{{accountId}}", - "calls", - "{{callId}}" - ] - }, - "description": "Updates a phone call to a new BXML endpoint" - }, - "response": [] - }, - { - "name": "Hangup Phone Call", - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "type": "text", - "value": "application/json" - } - ], - "body": { - "mode": "raw", - "raw": "{\n\t\"state\": \"completed\"\n}" - }, - "url": { - "raw": "https://voice.bandwidth.com/api/v2/accounts/{{accountId}}/calls/{{callId}}", - "protocol": "https", - "host": [ - "voice", - "bandwidth", - "com" - ], - "path": [ - "api", - "v2", - "accounts", - "{{accountId}}", - "calls", - "{{callId}}" - ] - }, - "description": "Ends an active phone call" - }, - "response": [] - } - ], - "description": "This is the Bandwidth Voice tutorials. In order to use these endpoints you will need your applicationId and at least 1 Bandwidth phone number. If you want your phone call to be interactive, you will need a server to host BXML and include an endpoint to retrieve this BXML on your API requests (applicationUrl is the field). More information can be found on https://dev.bandwidth.com/voice/about.html", - "auth": { - "type": "basic", - "basic": [ - { - "key": "password", - "value": "{{password}}", - "type": "string" - }, - { - "key": "username", - "value": "{{username}}", - "type": "string" - } - ] - }, - "event": [ - { - "listen": "prerequest", - "script": { - "id": "b36ea420-f96c-4e74-8d68-5e5fc796c9b0", - "type": "text/javascript", - "exec": [ - "" - ] - } - }, - { - "listen": "test", - "script": { - "id": "9c6d7b94-19a0-4e43-b85d-8bf3879081ba", - "type": "text/javascript", - "exec": [ - "" - ] - } - } - ], - "protocolProfileBehavior": {} - }, - { - "name": "Numbers Tutorials", - "item": [ - { - "name": "Search Then Order", - "item": [ - { - "name": "Search Availabel Numbers", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "https://dashboard.bandwidth.com/api/accounts/{{accountId}}/orders?", - "protocol": "https", - "host": [ - "dashboard", - "bandwidth", - "com" - ], - "path": [ - "api", - "accounts", - "{{accountId}}", - "orders" - ], - "query": [ - { - "key": "areaCode", - "value": "", - "disabled": true - }, - { - "key": "npaNxx", - "value": "", - "disabled": true - }, - { - "key": "rateCenter", - "value": "", - "disabled": true - }, - { - "key": "npaNxxx", - "value": "", - "disabled": true - }, - { - "key": "lata", - "value": "", - "disabled": true - }, - { - "key": "localVanity", - "value": "", - "disabled": true - }, - { - "key": "tollFreeVanity", - "value": "", - "disabled": true - }, - { - "key": "tollFreeWildCardPattern", - "value": "", - "disabled": true - } - ] - }, - "description": "This API call searches for available phone numbers based on one or more of the following criteria:\n\nArea Code\nNPA-NXX\nNPA-NXX with Local Area Calling\nNPA-NXX-X\nNPA-NXX-X with Local Area Calling\nRateCenter\nRateCenter with Local Area Calling\nState\nCity/State\nZip Code\nLATA\nLocal Vanity\nTollFree Vanity\nTollFree WildCard Pattern" - }, - "response": [] - }, - { - "name": "Existing Telephone Number Order", - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/xml", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "\r\n 123456789\r\n Existing Number Order\r\n \r\n \r\n 9197414022\r\n \r\n \r\n \r\n \r\n 29976\r\n", - "options": { - "raw": { - "language": "xml" - } - } - }, - "url": { - "raw": "https://dashboard.bandwidth.com/api/accounts/{{accountId}}/orders", - "protocol": "https", - "host": [ - "dashboard", - "bandwidth", - "com" - ], - "path": [ - "api", - "accounts", - "{{accountId}}", - "orders" - ] - }, - "description": "Order a set of numbers known to be available.\r\nThis often results if the numbers have been\r\nfound using a separate availableNumbers search\r\nIf the numbers have previously been reserved,\r\na reservation id must be included" - }, - "response": [] - }, - { - "name": "Fetch Order Status", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "https://dashboard.bandwidth.com/api/accounts/{{accountId}}/orders/:orderId", - "protocol": "https", - "host": [ - "dashboard", - "bandwidth", - "com" - ], - "path": [ - "api", - "accounts", - "{{accountId}}", - "orders", - ":orderId" - ], - "variable": [ - { - "key": "orderId", - "value": "e4bed0b4-87bd-42fe-b47e-0130b49215fe" - } - ] - }, - "description": "GET all of the details associated with an identified order" - }, - "response": [] - } - ], - "event": [ - { - "listen": "prerequest", - "script": { - "id": "377f7d23-7193-44cd-b5e5-b73bb4e8a710", - "type": "text/javascript", - "exec": [ - "" - ] - } - }, - { - "listen": "test", - "script": { - "id": "ba83868e-13ec-4917-a6c9-c979d1862dee", - "type": "text/javascript", - "exec": [ - "" - ] - } - } - ], - "protocolProfileBehavior": {}, - "_postman_isSubFolder": true - }, - { - "name": "Search AND Order", - "item": [ - { - "name": "Search Telephone Number & Order", - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/xml" - } - ], - "body": { - "mode": "raw", - "raw": "\r\n 123456789\r\n Local Order\r\n \r\n 919\r\n 1\r\n \r\n 29976\r\n", - "options": { - "raw": { - "language": "xml" - } - } - }, - "url": { - "raw": "https://dashboard.bandwidth.com/api/accounts/{{accountId}}/orders", - "protocol": "https", - "host": [ - "dashboard", - "bandwidth", - "com" - ], - "path": [ - "api", - "accounts", - "{{accountId}}", - "orders" - ] - }, - "description": "Order a set of numbers known to be available.\r\nThis often results if the numbers have been\r\nfound using a separate availableNumbers search\r\nIf the numbers have previously been reserved,\r\na reservation id must be included" - }, - "response": [] - }, - { - "name": "Fetch Order Status", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "https://dashboard.bandwidth.com/api/accounts/{{accountId}}/orders/:orderId", - "protocol": "https", - "host": [ - "dashboard", - "bandwidth", - "com" - ], - "path": [ - "api", - "accounts", - "{{accountId}}", - "orders", - ":orderId" - ], - "variable": [ - { - "key": "orderId", - "value": "06c88d83-dd4a-4c4c-b5a5-c469467fe7c9" - } - ] - }, - "description": "GET all of the details associated with an identified order" - }, - "response": [] - }, - { - "name": "Disconnect Telephone Number", - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/xml", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "\r\n training run\r\n \r\n \r\n 9193732359\r\n \r\n \r\n", - "options": { - "raw": { - "language": "xml" - } - } - }, - "url": { - "raw": "https://dashboard.bandwidth.com/api/accounts/{{accountId}}/disconnects", - "protocol": "https", - "host": [ - "dashboard", - "bandwidth", - "com" - ], - "path": [ - "api", - "accounts", - "{{accountId}}", - "disconnects" - ] - } - }, - "response": [] - }, - { - "name": "Fetch Disconnect Telephone Number Order", - "protocolProfileBehavior": { - "disableBodyPruning": true - }, - "request": { - "method": "GET", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/xml" - } - ], - "body": { - "mode": "raw", - "raw": "\r\n training run\r\n \r\n \r\n 9193732359\r\n \r\n \r\n", - "options": { - "raw": { - "language": "xml" - } - } - }, - "url": { - "raw": "https://dashboard.bandwidth.com/api/accounts/{{accountId}}/disconnects/:disconnectId", - "protocol": "https", - "host": [ - "dashboard", - "bandwidth", - "com" - ], - "path": [ - "api", - "accounts", - "{{accountId}}", - "disconnects", - ":disconnectId" - ], - "variable": [ - { - "key": "disconnectId", - "value": "de14fdb4-6fcc-4764-a914-0636bc3bab26" - } - ] - } - }, - "response": [] - } - ], - "protocolProfileBehavior": {}, - "_postman_isSubFolder": true - }, - { - "name": "Remove Imported Number", - "item": [ - { - "name": "Create Remove Imported Tn Order ", - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/xml", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "\r\n ICPA123ABC\r\n \r\n 9197414022\r\n \r\n", - "options": { - "raw": { - "language": "xml" - } - } - }, - "url": { - "raw": "https://dashboard.bandwidth.com/api/accounts/{{accountId}}/removeImportedTnOrders", - "protocol": "https", - "host": [ - "dashboard", - "bandwidth", - "com" - ], - "path": [ - "api", - "accounts", - "{{accountId}}", - "removeImportedTnOrders" - ] - }, - "description": "Creates a removeImportedTnOrders request to remove imported telephone numbers from the given site ID and sippeer ID as specified in the body. A successfully submitted order will have a status of \"PROCESSING\". A successfully completed order will have a status of \"COMPLETE\" if all of the telephone numbers were successfully removed and \"PARTIAL\" if some of the telephone numbers were removed. A failed order with will have a staus of \"FAILED\" and no telephone numbers would have been removed. The elements supplied in the payloads are described in the following table:" - }, - "response": [] - }, - { - "name": "Create Remove Imported Tn Order Copy", - "request": { - "method": "GET", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/xml", - "type": "text" - } - ], - "url": { - "raw": "https://dashboard.bandwidth.com/api/accounts/{{accountId}}/removeImportedTnOrders/:orderId", - "protocol": "https", - "host": [ - "dashboard", - "bandwidth", - "com" - ], - "path": [ - "api", - "accounts", - "{{accountId}}", - "removeImportedTnOrders", - ":orderId" - ], - "variable": [ - { - "key": "orderId", - "value": "06e5685b-2bd5-4f19-8c2d-35eef228b9a1" - } - ] - }, - "description": "Creates a removeImportedTnOrders request to remove imported telephone numbers from the given site ID and sippeer ID as specified in the body. A successfully submitted order will have a status of \"PROCESSING\". A successfully completed order will have a status of \"COMPLETE\" if all of the telephone numbers were successfully removed and \"PARTIAL\" if some of the telephone numbers were removed. A failed order with will have a staus of \"FAILED\" and no telephone numbers would have been removed. The elements supplied in the payloads are described in the following table:" - }, - "response": [] - }, - { - "name": "Check Inservice Telephone Numbers", - "request": { - "method": "GET", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/xml" - } - ], - "url": { - "raw": "https://dashboard.bandwidth.com/api/accounts/{{accountId}}/inserviceNumbers/?page=1&size=500", - "protocol": "https", - "host": [ - "dashboard", - "bandwidth", - "com" - ], - "path": [ - "api", - "accounts", - "{{accountId}}", - "inserviceNumbers", - "" - ], - "query": [ - { - "key": "page", - "value": "1" - }, - { - "key": "size", - "value": "500" - } - ] - } - }, - "response": [] - } - ], - "protocolProfileBehavior": {}, - "_postman_isSubFolder": true - }, - { - "name": "Import TNs for Hosted Messaging", - "item": [ - { - "name": "Import Telephone Number Check", - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/xml", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "\r\n \r\n 3032281000\r\n 4109235436\r\n 4104685864\r\n \r\n\r\n", - "options": { - "raw": { - "language": "xml" - } - } - }, - "url": { - "raw": "https://dashboard.bandwidth.com/api/accounts/{{accountId}}/importTnChecker", - "protocol": "https", - "host": [ - "dashboard", - "bandwidth", - "com" - ], - "path": [ - "api", - "accounts", - "{{accountId}}", - "importTnChecker" - ] - }, - "description": "Before creating the order, to reduce failed or error statuses, create a POST request to the /importTnChecker endpoint to check if the number can be brought in to your Bandwidth account. A non-errored response from the importTnChecker doesn't necessarily mean that the order will succeed, but is a good indicator of success.\n\n" - }, - "response": [] - }, - { - "name": "Create Import Tn Order", - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/xml", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "\r\n ICPA123ABC\r\n 29976\r\n 603962\r\n \r\n ABC Inc.\r\n \r\n 11235\r\n Back\r\n Denver\r\n CO\r\n 27541\r\n Canyon\r\n \r\n \r\n The Authguy\r\n \r\n 9199918388\r\n \r\n\r\n", - "options": { - "raw": { - "language": "xml" - } - } - }, - "url": { - "raw": "https://dashboard.bandwidth.com/api/accounts/{{accountId}}/importTnOrders", - "protocol": "https", - "host": [ - "dashboard", - "bandwidth", - "com" - ], - "path": [ - "api", - "accounts", - "{{accountId}}", - "importTnOrders" - ] - }, - "description": "After validating the numbers are able to be imported, create a POST request to create the order to import the phone numbers in to your Bandwidth account.\n\n" - }, - "response": [] - }, - { - "name": "Fetch Import Tn Order Status", - "request": { - "method": "GET", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/xml" - } - ], - "url": { - "raw": "https://dashboard.bandwidth.com/api/accounts/{{accountId}}/importTnOrders/:importOrderId", - "protocol": "https", - "host": [ - "dashboard", - "bandwidth", - "com" - ], - "path": [ - "api", - "accounts", - "{{accountId}}", - "importTnOrders", - ":importOrderId" - ], - "variable": [ - { - "key": "importOrderId", - "value": "82e3ea8c-1d8e-4bf3-8b76-7fa31a3efee2" - } - ] - }, - "description": "**Optional** At anytime, you're able to get the order status by creating a GET request to the order-id returned when creating the importTnOrder.\n\n" - }, - "response": [] - }, - { - "name": "Check Inservice Telephone Numbers", - "request": { - "method": "GET", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "type": "text", - "value": "application/xml" - } - ], - "url": { - "raw": "https://dashboard.bandwidth.com/api/accounts/{{accountId}}/inserviceNumbers/?page=1&size=500", - "protocol": "https", - "host": [ - "dashboard", - "bandwidth", - "com" - ], - "path": [ - "api", - "accounts", - "{{accountId}}", - "inserviceNumbers", - "" - ], - "query": [ - { - "key": "page", - "value": "1" - }, - { - "key": "size", - "value": "500" - } - ] - }, - "description": "Optional, but recommended. To finally confirm that the phone number was successfully imported into your Bandwidth account, create a GET request to the inserviceNumbers to list the numbers in your account.\n\nIf everything was imported correctly, the recently imported number will appear in the returned payload." - }, - "response": [] - } - ], - "description": "This walks through how to programmatically import Phone Numbers to your account for use with Bandwidth's Messaging Products.", - "event": [ - { - "listen": "prerequest", - "script": { - "id": "c1495376-6c76-40f1-aa87-c9a6e2234c2e", - "type": "text/javascript", - "exec": [ - "" - ] - } - }, - { - "listen": "test", - "script": { - "id": "f826556f-c2c9-46ad-adee-533a32fc819f", - "type": "text/javascript", - "exec": [ - "" - ] - } - } - ], - "protocolProfileBehavior": {}, - "_postman_isSubFolder": true - }, - { - "name": "CSR Lookup API", - "item": [ - { - "name": "Create CSR Subscription", - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/xml", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "\n csrs\n \n {your-callback-url}\n 3600\n \n \n User15\n Hunter15\n \n \n \n", - "options": { - "raw": { - "language": "xml" - } - } - }, - "url": { - "raw": "https://dashboard.bandwidth.com/api/accounts/{{accountId}}/subscriptions", - "protocol": "https", - "host": [ - "dashboard", - "bandwidth", - "com" - ], - "path": [ - "api", - "accounts", - "{{accountId}}", - "subscriptions" - ] - }, - "description": "Create a subscription to the CSR event updates" - }, - "response": [] - }, - { - "name": "Create CSR Order", - "request": { - "auth": { - "type": "basic", - "basic": [ - { - "key": "password", - "value": "{{password}}", - "type": "string" - }, - { - "key": "username", - "value": "{{username}}", - "type": "string" - } - ] - }, - "method": "POST", - "header": [ - { - "key": "Content-Type", - "value": "application/xml", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "\n\t9196190595\n", - "options": { - "raw": {} - } - }, - "url": { - "raw": "https://dashboard.bandwidth.com/api/accounts/{{accountId}}/csrs", - "protocol": "https", - "host": [ - "dashboard", - "bandwidth", - "com" - ], - "path": [ - "api", - "accounts", - "{{accountId}}", - "csrs" - ] - } - }, - "response": [] - }, - { - "name": "Lookup CSR Order by ID", - "request": { - "auth": { - "type": "basic", - "basic": [ - { - "key": "password", - "value": "{{password}}", - "type": "string" - }, - { - "key": "username", - "value": "{{username}}", - "type": "string" - } - ] - }, - "method": "GET", - "header": [ - { - "key": "Content-Type", - "value": "application/xml", - "type": "text" - } - ], - "url": { - "raw": "https://dashboard.bandwidth.com/api/accounts/{{accountId}}/csrs/:orderId", - "protocol": "https", - "host": [ - "dashboard", - "bandwidth", - "com" - ], - "path": [ - "api", - "accounts", - "{{accountId}}", - "csrs", - ":orderId" - ], - "variable": [ - { - "key": "orderId", - "value": "" - } - ] - } - }, - "response": [] - } - ], - "description": "Lookup Customer Service Records (CSRs) programatically before creating a port order", - "event": [ - { - "listen": "prerequest", - "script": { - "id": "1c3fe423-0836-4246-98d6-4707e62cb8c3", - "type": "text/javascript", - "exec": [ - "" - ] - } - }, - { - "listen": "test", - "script": { - "id": "6ac5dc75-50af-4430-8ecc-79596794cd73", - "type": "text/javascript", - "exec": [ - "" - ] - } - } - ], - "protocolProfileBehavior": {}, - "_postman_isSubFolder": true - } - ], - "description": "This is the Bandwidth Numbers tutorials", - "auth": { - "type": "basic", - "basic": [ - { - "key": "username", - "value": "{{username}}", - "type": "string" - }, - { - "key": "password", - "value": "{{password}}", - "type": "string" - } - ] - }, - "event": [ - { - "listen": "prerequest", - "script": { - "id": "0b3735b7-9e84-4eef-a16e-db5aa6104b93", - "type": "text/javascript", - "exec": [ - "" - ] - } - }, - { - "listen": "test", - "script": { - "id": "51d47e84-3f3f-469b-8607-8f73c7df2d53", - "type": "text/javascript", - "exec": [ - "" - ] - } - } - ], - "protocolProfileBehavior": {} - }, - { - "name": "Account Tutorials", - "item": [ - { - "name": "Programmatic Applicaton & HTTP Account Setup", - "item": [ - { - "name": "Create Messaging Application", - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/xml", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "\n Messaging-V2\n Production Server\n https://yourSecureSite.com/callbacks\n \n Your-User-id\n Your-Password\n \n", - "options": { - "raw": { - "language": "xml" - } - } - }, - "url": { - "raw": "https://dashboard.bandwidth.com/api/accounts/{{accountId}}/applications", - "protocol": "https", - "host": [ - "dashboard", - "bandwidth", - "com" - ], - "path": [ - "api", - "accounts", - "{{accountId}}", - "applications" - ] - }, - "description": "Create a messaging application for use with HTTP Messaging" - }, - "response": [] - }, - { - "name": "Create Voice Application", - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/xml", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "\n Voice-V2\n Production Server2\n https://yourSecureSite.com/callbacks/init\n https://yourSecureSite.com/callbacks/status\n \n Your-User-id\n Your-Password\n \n", - "options": { - "raw": { - "language": "xml" - } - } - }, - "url": { - "raw": "https://dashboard.bandwidth.com/api/accounts/{{accountId}}/applications", - "protocol": "https", - "host": [ - "dashboard", - "bandwidth", - "com" - ], - "path": [ - "api", - "accounts", - "{{accountId}}", - "applications" - ] - }, - "description": "Sample request to create a voice application for use with HTTP Voice" - }, - "response": [] - }, - { - "name": "List Applications", - "request": { - "method": "GET", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/xml", - "type": "text" - } - ], - "url": { - "raw": "https://dashboard.bandwidth.com/api/accounts/{{accountId}}/applications", - "protocol": "https", - "host": [ - "dashboard", - "bandwidth", - "com" - ], - "path": [ - "api", - "accounts", - "{{accountId}}", - "applications" - ] - }, - "description": "List all applications on an account" - }, - "response": [] - }, - { - "name": "Create new sub-account (site)", - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/xml", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "\n BandwidthHQ\n Test Gateway\n BW\n
\n 900\n Main Campus Dr\n RALEIGH\n NC\n 27606\n Billing\n
\n
", - "options": { - "raw": { - "language": "xml" - } - } - }, - "url": { - "raw": "https://dashboard.bandwidth.com/api/accounts/{{accountId}}/sites", - "protocol": "https", - "host": [ - "dashboard", - "bandwidth", - "com" - ], - "path": [ - "api", - "accounts", - "{{accountId}}", - "sites" - ] - } - }, - "response": [] - }, - { - "name": "Create SIPPEER (location)", - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/xml", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "\n Bandwidth 2020-01-06\n true\n", - "options": { - "raw": { - "language": "xml" - } - } - }, - "url": { - "raw": "https://dashboard.bandwidth.com/api/accounts/{{accountId}}/sites/{{siteId}}/sippeers", - "protocol": "https", - "host": [ - "dashboard", - "bandwidth", - "com" - ], - "path": [ - "api", - "accounts", - "{{accountId}}", - "sites", - "{{siteId}}", - "sippeers" - ] - } - }, - "response": [] - }, - { - "name": "List SMS Features on a location", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "https://dashboard.bandwidth.com/api/accounts/{{accountId}}/sites/{{siteId}}/sippeers/{{sippeerId}}/products/messaging/features/sms", - "protocol": "https", - "host": [ - "dashboard", - "bandwidth", - "com" - ], - "path": [ - "api", - "accounts", - "{{accountId}}", - "sites", - "{{siteId}}", - "sippeers", - "{{sippeerId}}", - "products", - "messaging", - "features", - "sms" - ] - } - }, - "response": [] - }, - { - "name": "Create SMS Features on a location", - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/xml", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "\n \n true\n true\n HTTP\n true\n false\n false\n false\n false\n \n \n", - "options": { - "raw": { - "language": "xml" - } - } - }, - "url": { - "raw": "https://dashboard.bandwidth.com/api/accounts/{{accountId}}/sites/{{siteId}}/sippeers/{{sippeerId}}/products/messaging/features/sms", - "protocol": "https", - "host": [ - "dashboard", - "bandwidth", - "com" - ], - "path": [ - "api", - "accounts", - "{{accountId}}", - "sites", - "{{siteId}}", - "sippeers", - "{{sippeerId}}", - "products", - "messaging", - "features", - "sms" - ] - } - }, - "response": [] - }, - { - "name": "List MMS Features on a location", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "https://dashboard.bandwidth.com/api/accounts/{{accountId}}/sites/{{siteId}}/sippeers/{{sippeerId}}/products/messaging/features/mms", - "protocol": "https", - "host": [ - "dashboard", - "bandwidth", - "com" - ], - "path": [ - "api", - "accounts", - "{{accountId}}", - "sites", - "{{siteId}}", - "sippeers", - "{{sippeerId}}", - "products", - "messaging", - "features", - "mms" - ] - } - }, - "response": [] - }, - { - "name": "Create MMS Features on a location", - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/xml", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "\n \n HTTP\n \n \n \n \n \n \n", - "options": { - "raw": { - "language": "xml" - } - } - }, - "url": { - "raw": "https://dashboard.bandwidth.com/api/accounts/{{accountId}}/sites/{{siteId}}/sippeers/{{sippeerId}}/products/messaging/features/mms", - "protocol": "https", - "host": [ - "dashboard", - "bandwidth", - "com" - ], - "path": [ - "api", - "accounts", - "{{accountId}}", - "sites", - "{{siteId}}", - "sippeers", - "{{sippeerId}}", - "products", - "messaging", - "features", - "mms" - ] - } - }, - "response": [] - }, - { - "name": "List Voice Origination Features on a location", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "https://dashboard.bandwidth.com/api/accounts/{{accountId}}/sites/{{siteId}}/sippeers/{{sippeerId}}/products/origination/settings", - "protocol": "https", - "host": [ - "dashboard", - "bandwidth", - "com" - ], - "path": [ - "api", - "accounts", - "{{accountId}}", - "sites", - "{{siteId}}", - "sippeers", - "{{sippeerId}}", - "products", - "origination", - "settings" - ] - } - }, - "response": [] - }, - { - "name": "Add & Update Voice Origination Features on a location", - "request": { - "method": "POST", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/xml", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "\n HTTP\n \n {{applicationId}}\n \n", - "options": { - "raw": { - "language": "xml" - } - } - }, - "url": { - "raw": "https://dashboard.bandwidth.com/api/accounts/{{accountId}}/sites/{{siteId}}/sippeers/{{sippeerId}}/products/origination/settings", - "protocol": "https", - "host": [ - "dashboard", - "bandwidth", - "com" - ], - "path": [ - "api", - "accounts", - "{{accountId}}", - "sites", - "{{siteId}}", - "sippeers", - "{{sippeerId}}", - "products", - "origination", - "settings" - ] - } - }, - "response": [] - }, - { - "name": "List Voice Termination Features on a location", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "https://dashboard.bandwidth.com/api/accounts/{{accountId}}/sites/{{siteId}}/sippeers/{{sippeerId}}/products/termination/settings", - "protocol": "https", - "host": [ - "dashboard", - "bandwidth", - "com" - ], - "path": [ - "api", - "accounts", - "{{accountId}}", - "sites", - "{{siteId}}", - "sippeers", - "{{sippeerId}}", - "products", - "termination", - "settings" - ] - } - }, - "response": [] - }, - { - "name": "List Messaging Application on Location", - "request": { - "method": "GET", - "header": [], - "url": { - "raw": "https://dashboard.bandwidth.com/api/accounts/{{accountId}}/sites/{{siteId}}/sippeers/{{sippeerId}}/products/messaging/applicationSettings", - "protocol": "https", - "host": [ - "dashboard", - "bandwidth", - "com" - ], - "path": [ - "api", - "accounts", - "{{accountId}}", - "sites", - "{{siteId}}", - "sippeers", - "{{sippeerId}}", - "products", - "messaging", - "applicationSettings" - ] - } - }, - "response": [] - }, - { - "name": "Assign Messaging Application to SIPPEER (location)", - "request": { - "method": "PUT", - "header": [ - { - "key": "Content-Type", - "name": "Content-Type", - "value": "application/xml", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "\n {{messaging-applicationId}}\n", - "options": { - "raw": { - "language": "xml" - } - } - }, - "url": { - "raw": "https://dashboard.bandwidth.com/api/accounts/{{accountId}}/sites/{{siteId}}/sippeers/{{sippeerId}}/products/messaging/applicationSettings", - "protocol": "https", - "host": [ - "dashboard", - "bandwidth", - "com" - ], - "path": [ - "api", - "accounts", - "{{accountId}}", - "sites", - "{{siteId}}", - "sippeers", - "{{sippeerId}}", - "products", - "messaging", - "applicationSettings" - ] - } - }, - "response": [] - } - ], - "description": "This is the collection of requests to enable your account for use with HTTP Voice and HTTP Messaging\n\nAt a high level this covers:\n\n* Creating site (subaccount)\n* Creating sippeer (location)\n* Creating Voice application (callback URL management)\n* Creating Messaging application (callback URL management)\n* Assigning applications to sippeers (locations)\n* Enabling the sippeers (locations) to support the HTTP Products", - "event": [ - { - "listen": "prerequest", - "script": { - "id": "b9ea48e4-6910-4541-8c6a-98e9ba12883c", - "type": "text/javascript", - "exec": [ - "" - ] - } - }, - { - "listen": "test", - "script": { - "id": "14b256b1-55f3-4e46-824a-e566042a90e8", - "type": "text/javascript", - "exec": [ - "" - ] - } - } - ], - "protocolProfileBehavior": {}, - "_postman_isSubFolder": true - } - ], - "description": "This is the Account Management tutorials", - "auth": { - "type": "basic", - "basic": [ - { - "key": "username", - "value": "{{username}}", - "type": "string" - }, - { - "key": "password", - "value": "{{password}}", - "type": "string" - } - ] - }, - "event": [ - { - "listen": "prerequest", - "script": { - "id": "c7e5540e-bdaf-415a-89db-0e26939ff8f7", - "type": "text/javascript", - "exec": [ - "" - ] - } - }, - { - "listen": "test", - "script": { - "id": "d917e1f7-8a71-4fe7-8203-73b3337b5da9", - "type": "text/javascript", - "exec": [ - "" - ] - } - } - ], - "protocolProfileBehavior": {} - }, - { - "name": "API Reference", - "item": [], - "description": "This is an API reference of all Bandwidth endpoints", - "protocolProfileBehavior": {} - } - ], - "event": [ - { - "listen": "prerequest", - "script": { - "id": "c9386610-d917-460d-b2d2-50da1bbab8ca", - "type": "text/javascript", - "exec": [ - "" - ] - } - }, - { - "listen": "test", - "script": { - "id": "88c69f17-15f5-4045-8fae-1e223fb7a13e", - "type": "text/javascript", - "exec": [ - "" - ] - } - } - ], - "variable": [ - { - "id": "3c9513a7-f419-4073-a024-b0bab0eab956", - "key": "apiToken", - "value": "", - "type": "string" - }, - { - "id": "f092b34f-4528-44f5-800b-6d7e5e954d14", - "key": "apiSecret", - "value": "", - "type": "string" - }, - { - "id": "bc09a80b-8f85-476f-85eb-a746fe22eb90", - "key": "username", - "value": "", - "type": "string" - }, - { - "id": "8d658a18-dda9-40b8-bfe1-59e01d76082c", - "key": "password", - "value": "", - "type": "string" - }, - { - "id": "695b8a23-0296-4442-9aa7-b9b10a8a1115", - "key": "accountId", - "value": "", - "type": "string" - }, - { - "id": "0cec8937-2c88-4706-b042-286ff8fd9d86", - "key": "siteId", - "value": "", - "type": "string" - }, - { - "id": "97f9e13f-30a9-4c05-a76f-9db9cb78604a", - "key": "userId", - "value": "", - "type": "string" - }, - { - "id": "b7100c6d-c086-464f-9581-ad6646992f1c", - "key": "sipPeerId", - "value": "", - "type": "string" - }, - { - "id": "b96590f0-86d1-4b90-9e07-6c034f21eefd", - "key": "MessagingApplicationId", - "value": "", - "type": "string" - }, - { - "id": "57035e79-3f57-4752-bcba-4af2b9ecaae6", - "key": "VoiceApplicationId", - "value": "", - "type": "string" - }, - { - "id": "a75535de-c94c-45e8-88d5-2cd65cc28779", - "key": "NumbersApplicationId", - "value": "", - "type": "string" - } - ], - "protocolProfileBehavior": {} -} \ No newline at end of file diff --git a/postman/src/Main.ts b/postman/src/Main.ts deleted file mode 100644 index 71bf7196c..000000000 --- a/postman/src/Main.ts +++ /dev/null @@ -1,67 +0,0 @@ -import SwaggerParser from 'swagger-parser' -import fs from 'fs-extra' -import { OpenAPI } from 'openapi-types' -import glob from 'glob' -import { AppendEngine } from './engine/AppendEngine' -import commandLineArgs from 'command-line-args' - -const commandLineOptions = [ - { name: 'postman_collection', alias: 'c', type: String }, - { name: 'spec_folder', alias: 's', type: String }, - { name: 'name', alias: 'n', type: String, defaultValue: 'postman.json' } -] - - - export async function Main() { - - const options = commandLineArgs(commandLineOptions) - - let postmanPath = options.postman_collection; - let oasPath = options.spec_folder; - let fileName = options.name; - - if(!postmanPath) throw 'Need to supply filepath for postman scaffold to command line like " --postman_collection Path/To/File "' - - if(!oasPath) throw 'Need to supply folder path to command line for API specs like " --spec_folder Path/To/Folder "' - - console.log("Generating Postman Collection") - - console.log('Path to Postman Collection scaffold: ' + postmanPath) - - console.log('Path to the Open API spec folder: ' + oasPath) - - - let postman = JSON.parse(fs.readFileSync(postmanPath).toString()) - - let oasStack = await getOasStack(oasPath) - - - AppendEngine.append(oasStack, postman) - - console.log('Writing New Postman Collection: ' + fileName) - - fs.outputFileSync(fileName, JSON.stringify( postman, null, 4)) - - console.log('Finished') - -} - - -async function getOasStack(folder: string) : Promise { - - let stack = []; - - let pattern = folder.concat('/**/*.json') - - let list = glob.sync(pattern) - - for(var path of list ){ - - - var api = await SwaggerParser.dereference(path) - - stack.push(api) - } - - return stack -} \ No newline at end of file diff --git a/postman/src/engine/AppendEngine.ts b/postman/src/engine/AppendEngine.ts deleted file mode 100644 index 92f3363c3..000000000 --- a/postman/src/engine/AppendEngine.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { OpenAPI, OpenAPIV2, OpenAPIV3 } from "openapi-types"; -import { IPostmanColl, IPostmanFolder } from "../interfaces/IPostmanColl"; -import { PostmanFolder } from "../postman/PostmanFolder"; -import { APIConverter } from "./converter/APIConverter"; - - -export class AppendEngine { - - converter: APIConverter - - static append(oasStack : OpenAPI.Document[], postman: IPostmanColl){ - - let apiRefrenceFolder = (postman.item[postman.item.length - 1]) - - for(var oas of oasStack){ - - - apiRefrenceFolder.item.push( APIConverter.convert(oas) ); - } - } -} \ No newline at end of file diff --git a/postman/src/engine/converter/APIConverter.ts b/postman/src/engine/converter/APIConverter.ts deleted file mode 100644 index c3bd1b735..000000000 --- a/postman/src/engine/converter/APIConverter.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { IPostmanFolder } from "../../interfaces/IPostmanColl"; -import { OpenAPI, OpenAPIV2, OpenAPIV3 } from "openapi-types"; -import { PostmanFolder } from "../../postman/PostmanFolder"; - - -export class APIConverter { - - static convert(oas : OpenAPI.Document) : IPostmanFolder { - - return new PostmanFolder(oas); - - } - -} \ No newline at end of file diff --git a/postman/src/enums/ApiVersions.ts b/postman/src/enums/ApiVersions.ts deleted file mode 100644 index 706a5d07f..000000000 --- a/postman/src/enums/ApiVersions.ts +++ /dev/null @@ -1,4 +0,0 @@ -export enum ApiVersions { - OpenAPI, - Swagger -} \ No newline at end of file diff --git a/postman/src/enums/HttpMethods.ts b/postman/src/enums/HttpMethods.ts deleted file mode 100644 index f3ac99296..000000000 --- a/postman/src/enums/HttpMethods.ts +++ /dev/null @@ -1,10 +0,0 @@ -export class HttpMethods { - static get = "get" - static post = "post" - static put = "put" - static delete = "delete" - static options = "options" - static trace = "trace" - static patch = "patch" - static head = "head" -} \ No newline at end of file diff --git a/postman/src/interfaces/IPostmanColl.ts b/postman/src/interfaces/IPostmanColl.ts deleted file mode 100644 index db453fa5f..000000000 --- a/postman/src/interfaces/IPostmanColl.ts +++ /dev/null @@ -1,80 +0,0 @@ - - - -export interface IPostmanColl { - info : IInfo - item : IPostmanFolder[] - variable: IVariable[] -} - -export interface IInfo { - -} - -export interface IPostmanFolder { - name: string - item: (IPostmanFolder | IPostmanItem)[] -} - -export interface IAuth { - type: string - basic: IVariable[] -} - -export interface IPostmanItem { - id? : string - name? : string - description?: string - variable?: IVariable[] - request: IRequest - response?: IResponse[] -} - -export interface IVariable { - id: string - key: string - type: string - name: string - description: string - value: string -} - -export interface IRequest { - url: IUrl - auth: string - method: string - description: string - header: IHeader[] - body: IBody -} - -export interface IResponse { - id: string - originalRequest: IRequest - code: number - status: string - header: IHeader[] -} - -export interface IUrl { - raw: string - protocol: string - host: string[] - path: string[] - variable: IVariable[] -} - -export interface IHeader { - key: string - value: string - disabeled: boolean - description: string - -} - -export interface IBody { - mode: string - raw: string - options: { raw: { language: string } } - -} \ No newline at end of file diff --git a/postman/src/postman/Auth.ts b/postman/src/postman/Auth.ts deleted file mode 100644 index 3dd732569..000000000 --- a/postman/src/postman/Auth.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { IAuth, IVariable } from "../interfaces/IPostmanColl"; - - -export class Auth implements IAuth { - type: string; - basic: IVariable[]; - - constructor(type: string, basic: IVariable[]){ - this.type = type - this.basic = basic - } - - -} \ No newline at end of file diff --git a/postman/src/postman/Body.ts b/postman/src/postman/Body.ts deleted file mode 100644 index 13e01ab41..000000000 --- a/postman/src/postman/Body.ts +++ /dev/null @@ -1,39 +0,0 @@ -import { IBody } from "../interfaces/IPostmanColl"; -import { OpenAPI, OpenAPIV3, OpenAPIV2 } from "openapi-types"; -import { JsonBlob } from "./JsonBlob"; -import xml2js from 'xml-js' - - -export class Body implements IBody { - mode: string; - raw: string; - options: { raw: { language: string; }; } = {raw: {language: ''}} - - constructor(schema: OpenAPIV3.SchemaObject | OpenAPIV2.SchemaObject, isXml = false){ - - if(!schema) return - - var jsonBlob = new JsonBlob(schema.properties); - - if(isXml){ - - var obj = { }; - //@ts-ignore - obj[schema.xml.name] = jsonBlob - jsonBlob = obj - - - this.raw = xml2js.js2xml(jsonBlob, {compact : true, spaces: 2}); - this.options.raw.language = "xml" - } else { - this.raw = JSON.stringify(jsonBlob, null, 4); - this.options.raw.language = "json" - } - - this.mode = "raw" - - } - - - -} \ No newline at end of file diff --git a/postman/src/postman/Header.ts b/postman/src/postman/Header.ts deleted file mode 100644 index c331ae7fc..000000000 --- a/postman/src/postman/Header.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { IHeader } from "../interfaces/IPostmanColl"; - - -export class Header implements IHeader { - key: string; - value: string; - disabeled: boolean; - description: string; - - constructor(key: string, value: string, disabled?: boolean, description?: string ){ - this.key = key - this.value = value - - if(disabled) - this.disabeled = disabled - - if(description) - this.description = description - } - -} \ No newline at end of file diff --git a/postman/src/postman/Helper.ts b/postman/src/postman/Helper.ts deleted file mode 100644 index 884a89bac..000000000 --- a/postman/src/postman/Helper.ts +++ /dev/null @@ -1,28 +0,0 @@ - - -export class Helper { - - static currentName: string - - static getCurrentName() : string { - return Helper.currentName - } - - static setCurrentName(name: string){ - Helper.currentName = name; - } - - static isCollectionVariable(str: string){ - - if(str.startsWith('{')) str = str.replace('{', '').replace('}', '') - - return str == 'accountId' || - str == 'siteId' || - str == 'userId' || - str == 'sipPeerId' || - str == 'MessagingApplicationId' || - str == 'VoiceApplicationId' || - str == 'NumbersApplicationId' - } - -} \ No newline at end of file diff --git a/postman/src/postman/JsonBlob.ts b/postman/src/postman/JsonBlob.ts deleted file mode 100644 index 2c0475a9e..000000000 --- a/postman/src/postman/JsonBlob.ts +++ /dev/null @@ -1,48 +0,0 @@ -import { OpenAPIV3, OpenAPIV2 } from "openapi-types"; -import { Helper } from "./Helper"; - -export class JsonBlob { - [key: string]: string | JsonBlob | JsonBlob[]; - - constructor(props: {[key: string] : any} ){ - - for(var name in props){ - - var origName = name - - var prop = props[name] - - if(prop.xml) name = prop.xml.name - - if(prop.type == 'object'){ - this[name] = new JsonBlob(prop.properties) - } else if(prop.type == 'array' && prop.items.type == 'object'){ - - if(prop.xml){ - this[name] = new JsonBlob(prop.items.properties) - } else { - this[name] =[ new JsonBlob(prop.items.properties) ] - } - - } else if(prop.type == 'array') { - - if(prop.items.xml){ - this[name] = { }; - //@ts-ignore - this[name][prop.items.xml.name] = `${prop.items.type}` - } else { - this[name] = `[ ${ prop.items.type} ]` - } - - } else if (prop.type == 'string' && name == 'applicationId') { - this[name] = `{{${Helper.getCurrentName()}applicationId}}` - } else if ( Helper.isCollectionVariable(origName) ) { - this[name] = `{{${origName}}}`; - } else { - this[name] = `${prop.type}`; - } - - } - - } -} \ No newline at end of file diff --git a/postman/src/postman/PostmanColl.ts b/postman/src/postman/PostmanColl.ts deleted file mode 100644 index 11251ae31..000000000 --- a/postman/src/postman/PostmanColl.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { IPostmanColl, IInfo, IPostmanFolder, IVariable } from "../interfaces/IPostmanColl"; - - -export class PostmanColl implements IPostmanColl { - info: IInfo; - item: IPostmanFolder[]; - variable: IVariable[]; - - constructor(){ - - } - - -} \ No newline at end of file diff --git a/postman/src/postman/PostmanFolder.ts b/postman/src/postman/PostmanFolder.ts deleted file mode 100644 index a2cf55588..000000000 --- a/postman/src/postman/PostmanFolder.ts +++ /dev/null @@ -1,76 +0,0 @@ -import { IPostmanFolder, IPostmanItem, IAuth, IVariable } from "../interfaces/IPostmanColl"; -import {PostmanItem} from './PostmanItem' -import { OpenAPI, OpenAPIV2, OpenAPIV3 } from "openapi-types"; -import {HttpMethods} from '../enums/HttpMethods' -import {ApiVersions} from '../enums/ApiVersions' -import Url from 'url-parse' -import { Auth } from "./Auth"; -import { Variable } from "./Variable"; -import { Helper } from "./Helper"; - - -export class PostmanFolder implements IPostmanFolder { - name: string; - item: IPostmanItem[] = []; - auth: IAuth - - constructor(oas: OpenAPI.Document){ - - this.name = oas.info.title; - - Helper.setCurrentName(this.name); - - this.auth = new Auth('basic', this.getAuthVariable(this.name)) - - let version: ApiVersions; - - if((oas).swagger) { - version = ApiVersions.Swagger - } else if((oas).openapi){ - version = ApiVersions.OpenAPI - } - - let rootUrl:string; - - if((oas as OpenAPIV2.Document).host){ - rootUrl = (oas as OpenAPIV2.Document).host; - } else { - rootUrl = (oas as OpenAPIV3.Document).servers[0].url; - } - - for(var path in oas.paths){ - var pathItem = oas.paths[path]; - - var url = new Url(rootUrl.concat(path)); - for(var key in HttpMethods){ - if( pathItem[key]) - this.item.push(new PostmanItem(url, key, pathItem[key], version)); - } - } - - } - - getAuthVariable(oasName: string ): IVariable[]{ - - let vars: IVariable[] = []; - var user = new Variable('username', 'username', 'string') - var pass = new Variable('password', 'password', 'string') - - if(oasName == 'Messaging'){ - user.value = '{{apiToken}}' - pass.value = '{{apiSecret}}' - } else { - user.value = '{{username}}' - pass.value = '{{password}}' - } - - vars.push(user) - vars.push(pass) - - - return vars - - } - - -} \ No newline at end of file diff --git a/postman/src/postman/PostmanItem.ts b/postman/src/postman/PostmanItem.ts deleted file mode 100644 index 0ccac383b..000000000 --- a/postman/src/postman/PostmanItem.ts +++ /dev/null @@ -1,32 +0,0 @@ -import { IPostmanItem, IVariable, IRequest, IResponse } from "../interfaces/IPostmanColl"; -import { OpenAPI } from "openapi-types"; -import { ApiVersions } from "../enums/ApiVersions"; -import {Request} from "./Request"; -import Url from 'url-parse' - - -export class PostmanItem implements IPostmanItem { - id?: string; - name?: string; - description?: string; - variable?: IVariable[]; - request: IRequest; - response?: IResponse[]; - - constructor(url: Url, method: string, operation : OpenAPI.Operation, type: ApiVersions) { - - this.name = operation.operationId; - this.description = operation.description; - - this.request = new Request(url, method, operation, type); - - - - - - } - - - - -} \ No newline at end of file diff --git a/postman/src/postman/Request.ts b/postman/src/postman/Request.ts deleted file mode 100644 index 23407ec23..000000000 --- a/postman/src/postman/Request.ts +++ /dev/null @@ -1,130 +0,0 @@ -import { IRequest, IUrl, IBody, IHeader } from "../interfaces/IPostmanColl"; -import { OpenAPI, OpenAPIV2, OpenAPIV3 } from "openapi-types"; -import { ApiVersions } from "../enums/ApiVersions"; -import { Url } from "./Url"; -import { Header } from "./Header"; -import UrlParsed from 'url-parse' -import { Body } from "./Body"; - - -export class Request implements IRequest { - url: IUrl; - auth: string; - method: string - description: string - header: IHeader[] - body: IBody - - constructor(url: UrlParsed, method: string, operation: OpenAPI.Operation, type: ApiVersions) { - - this.method = method - this.description = operation.description - - this.url = new Url(url, getPathVariables(operation.parameters) ); - - - if(type == ApiVersions.OpenAPI){ - var operationV3 = operation; - - this.header = getAPIV3Headers(operationV3.parameters) - - - if(operationV3.requestBody && (operationV3.requestBody as OpenAPIV3.RequestBodyObject).content["application/json"]){ - var schema = (operationV3.requestBody as OpenAPIV3.RequestBodyObject).content["application/json"].schema - this.body = new Body(schema); - } else if (operationV3.requestBody && (operationV3.requestBody as OpenAPIV3.RequestBodyObject).content["application/xml"]) { - var schema = (operationV3.requestBody as OpenAPIV3.RequestBodyObject).content["application/xml"].schema - this.body = new Body(schema, true); - } - - } else if(type == ApiVersions.Swagger){ - var operationV2 = (operation) - - this.header = getAPIV2Headers(operationV2.parameters) - - var schemav2 = (getBodyParam(operationV2.parameters)) - this.body = new Body(schemav2); - } - } -} - - - -function getPathVariables(parameters: (OpenAPIV2.ReferenceObject | OpenAPIV2.InBodyParameterObject | OpenAPIV2.GeneralParameterObject)[] | (OpenAPIV3.ReferenceObject | OpenAPIV3.ParameterObject)[]) : string[]{ - - var arr: string[] = [] - - if( parameters == null || typeof parameters[Symbol.iterator] !== 'function' ) return arr - - for(var param of parameters){ - - if((param as OpenAPIV2.GeneralParameterObject).in == 'path'){ - param = param; - - arr.push(param.name) - } - } - - return arr - -} - -function getBodyParam(parameters: (OpenAPIV2.ReferenceObject | OpenAPIV2.InBodyParameterObject | OpenAPIV2.GeneralParameterObject)[] | (OpenAPIV3.ReferenceObject | OpenAPIV3.ParameterObject)[]) : OpenAPIV2.Schema { - - var arr: string[] = [] - - if( parameters == null || typeof parameters[Symbol.iterator] !== 'function' ) return arr - - for(var param of parameters){ - - if((param as OpenAPIV2.GeneralParameterObject).in == 'body'){ - param = param; - - return param.schema - } - } - - return null - -} - -function getAPIV3Headers(parameters: (OpenAPIV3.ReferenceObject | OpenAPIV3.ParameterObject)[]) : IHeader[] { - - let headers: IHeader[] = [] - - if( parameters == null || typeof parameters[Symbol.iterator] !== 'function' ) return headers - - for(var param of parameters ){ - - if((param as OpenAPIV3.ReferenceObject).$ref){ - //do nothing - } else { - param = (param) - if(param.in == 'header'){ - headers.push(new Header(param.name, '')) - } - } - } - - return headers - -} - -function getAPIV2Headers(parameters: (OpenAPIV2.ReferenceObject | OpenAPIV2.InBodyParameterObject | OpenAPIV2.GeneralParameterObject)[]) : IHeader[] { - - let headers: IHeader[] = [] - - if( parameters == null || typeof parameters[Symbol.iterator] !== 'function' ) return headers - - for(var param of parameters ){ - - if((param as OpenAPIV2.InBodyParameterObject).in == 'header'){ - param = (param) - if(param.in == 'header'){ - headers.push(new Header(param.name, '')) - } - } - } - return headers - -} \ No newline at end of file diff --git a/postman/src/postman/Url.ts b/postman/src/postman/Url.ts deleted file mode 100644 index 0fb677a03..000000000 --- a/postman/src/postman/Url.ts +++ /dev/null @@ -1,54 +0,0 @@ -import { IUrl, IVariable } from "../interfaces/IPostmanColl"; -import Urlparsed from 'url-parse' -import { Variable } from "./Variable"; -import { Helper } from "./Helper"; - - - -export class Url implements IUrl { - raw: string; - protocol: string; - host: string[]; - path: string[]; - variable: IVariable[]; - - constructor(url: Urlparsed, pathVariables: string[] ){ - - this.raw = url.href - - this.protocol = url.protocol.replace(':', '') - - var hostArr = url.host.split('.') - hostArr.shift() - this.host = hostArr - - this.path = this.transformVariable(url.pathname.split('/')); - - this.variable = []; - for(var str of pathVariables){ - this.variable.push(new Variable(str, str)) - } - } - - - transformVariable(pathVariables: string[] ){ - - for(var idx = 0; idx < pathVariables.length; idx++){ - var str = pathVariables[idx] - if(str.startsWith('{') && str.endsWith('}')){ - if(Helper.isCollectionVariable(str)){ - pathVariables[idx] = `{${str}}` - } else { - pathVariables[idx] = ':' + str.substring(1, str.length - 1); - } - } - } - - return pathVariables - - } - - - - -} \ No newline at end of file diff --git a/postman/src/postman/Variable.ts b/postman/src/postman/Variable.ts deleted file mode 100644 index 9bf7352b5..000000000 --- a/postman/src/postman/Variable.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { IVariable } from "../interfaces/IPostmanColl"; - - -export class Variable implements IVariable { - id: string; - key: string; - type: string; - name: string; - description: string; - value: string; - - constructor(id: string, key: string, type?: string, name?: string, description?: string){ - this.id = id - this.key = key; - - this.name = name; - - this.type = type; - - this.description = description; - } - - -} \ No newline at end of file diff --git a/postman/tsconfig.json b/postman/tsconfig.json deleted file mode 100644 index 5927a8349..000000000 --- a/postman/tsconfig.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "compilerOptions": { - "lib": ["es6", "dom", "es2017"], - "module": "commonjs", - "esModuleInterop": true, - "target": "es6", - "noImplicitAny": true, - "moduleResolution": "node", - "sourceMap": true, - "outDir": "out", - "baseUrl": ".", - "paths": { - "*": [ - "node_modules/*", - "src/types/*" - ] - } - }, - "include": [ - "src/**/*", - "/*.ts" - ] -} \ No newline at end of file diff --git a/site/cypress/e2e/tests/feedback.cy.js b/site/cypress/e2e/tests/feedback.cy.js index cf9cc7e3b..90e18c695 100644 --- a/site/cypress/e2e/tests/feedback.cy.js +++ b/site/cypress/e2e/tests/feedback.cy.js @@ -1,6 +1,6 @@ context(`Test the 'Was This Helpful' Feedback process`, () => { before(() => { - cy.visit('/docs/account'); + cy.visit('/docs/account/'); }) it('Verifies that the feedback buttons are rendered', () => { @@ -42,7 +42,7 @@ context(`Test the 'Was This Helpful' Feedback process`, () => { }); it('Verifies Feedback submit error path', () => { - cy.visit('/apis/messaging'); + cy.visit('/apis/messaging/'); cy.get('.question-container > :nth-child(2)').click(); cy.get('.multi-line-input').type('error path'); cy.get('.single-line-input').type('error@path.com'); diff --git a/site/docusaurus.config.js b/site/docusaurus.config.js index 7a1434fb7..b75df4aff 100644 --- a/site/docusaurus.config.js +++ b/site/docusaurus.config.js @@ -102,10 +102,9 @@ module.exports = { title: 'Login' }] }, - // Now this breaks redoc :sad: (Now missing prism dependency as well) // prism: { - // additionalLanguages: ['csharp', 'java', 'ruby', 'php'], - // }, + // additionalLanguages: ['java'], // Breaks if you try to add more than 1 language. And still breaks redoc :((((( + // }, }, presets: [ [ diff --git a/site/migration-guides/java/intro.mdx b/site/migration-guides/java/intro.mdx new file mode 100644 index 000000000..a2d0bbc69 --- /dev/null +++ b/site/migration-guides/java/intro.mdx @@ -0,0 +1,19 @@ +--- +id: java-migration-guides +title: Java +slug: /java +description: Java SDK Migration Guides +sidebar_label: Overview +image: '@site/static/img/bw-icon.svg' +pagination_next: null +pagination_prev: null +--- + +See our releases on [GitHub](https://github.com/Bandwidth/java-sdk/releases) for more detailed changelogs + +## [v9-beta](/migration-guides/java/v8->v9-beta) + +### What's Changed + +* Generated an entirely new SDK using the open-source [OpenAPI Generator Library](https://openapi-generator.tech/) +* Rewrote the [BXML library](/migration-guides/java/v8->v9-beta#bxml) diff --git a/site/migration-guides/java/v9.mdx b/site/migration-guides/java/v9.mdx new file mode 100644 index 000000000..811061142 --- /dev/null +++ b/site/migration-guides/java/v9.mdx @@ -0,0 +1,2162 @@ +--- +id: v9-beta +title: v8 -> v9-beta +slug: /java/v8->v9-beta +description: Java v8 to v9 Migration Guide +sidebar_label: v8 -> v9-beta +hide_title: false +image: '@site/static/img/bw-icon.svg' +pagination_next: null +pagination_prev: null +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +## Client Initialization + + + + +```java +BandwidthClient client = new BandwidthClient.Builder() + .messagingBasicAuthCredentials("username", "password") + .voiceBasicAuthCredentials("username", "password") + .twoFactorAuthBasicAuthCredentials("username", "password") + .webRtcBasicAuthCredentials("username", "password") + .build(); +``` + + + + +```java +ApiClient defaultClient = Configuration.getDefaultApiClient(); +HttpBasicAuth Basic = (HttpBasicAuth) defaultClient.getAuthentication("Basic"); +Basic.setUsername("YOUR USERNAME"); +Basic.setPassword("YOUR PASSWORD"); +``` + + + + +## Messaging + +### Create Message + + + + +```java +public static final String ACCOUNT_ID = "12345"; +String to = "+15554443333"; +ArrayList toNumbers = new ArrayList(); +toNumbers.add(to); +String from = "+15553334444"; +String applicationId = "3-a-b-d"; +String text = "Hello from Java"; + +MessageRequest body = new MessageRequest(); +body.setTo(toNumbers); +body.setFrom(from); +body.setText(text); +body.setApplicationId(applicationId); + +ApiResponse createMessageResponse = messagingController.createMessage(ACCOUNT_ID, body); +System.out.println(createMessageResponse.getResult().getMessageId()); +``` + + + + +```java +String accountId = "9900000"; +String applicationId = "1234-qwer"; +MessagesApi apiInstance = new MessagesApi(defaultClient); +messageRequest.applicationId(applicationId); +messageRequest.addToItem("+19195551234"); +messageRequest.from("+19195554321"); +messageRequest.text("Sample Text"); +messageRequest.addMediaItem(URI.create("https://media.jpg")); +messageRequest.tag("Hello from Java"); +messageRequest.priority(PriorityEnum.DEFAULT); + +try { + Message result = apiInstance.createMessage(accountId, messageRequest); + System.out.println(result); +} catch (ApiException e) { + System.err.println("Exception when calling MessagesApi#createMessage"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); +} +``` + + + + + +### List Messages + + + + +```java +public static final String ACCOUNT_ID = "12345"; +String bandwidthNumber = "+15554443333"; +BandwidthClient client = new BandwidthClient.Builder() + .messagingBasicAuthCredentials(USERNAME, PASSWORD) + .build(); + +try { + CompletableFuture> completableFuture = client.getMessagingClient().getAPIController().getMessagesAsync(ACCOUNT_ID, null, bandwidthNumber, null, null, null, null, null, null, null); + System.out.println(completableFuture.get().getResult()); +} catch (InterruptedException | ExecutionException e) { + System.out.println(e.getMessage()); +} +``` + + + + +```java +String accountId = "9900000"; +String messageId = "9e0df4ca-b18d-40d7-a59f-82fcdf5ae8e6"; +String sourceTn = "%2B15554443333"; +String destinationTn = "%2B15554443333"; +MessageStatusEnum messageStatus = MessageStatusEnum.fromValue("RECEIVED"); +ListMessageDirectionEnum messageDirection = ListMessageDirectionEnum.fromValue("INBOUND"); +String carrierName = "Verizon"; +MessageTypeEnum messageType = MessageTypeEnum.fromValue("sms"); +Integer errorCode = 9902; +String fromDateTime = "2022-09-14T18:20:16.000Z"; +String toDateTime = "2022-09-14T18:20:16.000Z"; +String sort = "sourceTn:desc"; +String pageToken = "gdEewhcJLQRB5"; +Integer limit = 50; + +try { + MessagesList result = apiInstance.listMessages(accountId, messageId, sourceTn, destinationTn, messageStatus, messageDirection, carrierName, messageType, errorCode, fromDateTime, toDateTime, sort, pageToken, limit); + System.out.println(result); +} catch (ApiException e) { + System.err.println("Exception when calling MessagesApi#listMessages"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); +} +``` + + + + +## Media + +### List Media + + + + +```java +public static final String ACCOUNT_ID = "12345"; + +try { + CompletableFuture>> completableFuture = client.getMessagingClient().getAPIController().listMediaAsync(ACCOUNT_ID, null); + System.out.println(completableFuture.get().getResult()); +} catch (InterruptedException | ExecutionException e) { + System.out.println(e.getMessage()); +} +``` + + + + +```java +MediaApi apiInstance = new MediaApi(defaultClient); +String accountId = "9900000"; +String continuationToken = "1XEi2tsFtLo1JbtLwETnM1ZJ+PqAa8w6ENvC5QKvwyrCDYII663Gy5M4s40owR1tjkuWUif6qbWvFtQJR5/ipqbUnfAqL254LKNlPy6tATCzioKSuHuOqgzloDkSwRtX0LtcL2otHS69hK343m+SjdL+vlj71tT39"; + +try { + List result = apiInstance.listMedia(accountId, continuationToken); + System.out.println(result); +} catch (ApiException e) { + System.err.println("Exception when calling MediaApi#listMedia"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); +} +``` + + + + +### Get Media + + + + +```java +public static final String ACCOUNT_ID = "12345"; +String mediaId = "media-id-123"; + +try { + CompletableFuture> completableFuture = client.getMessagingClient().getAPIController().getMediaAsync(ACCOUNT_ID, mediaId); + System.out.println(completableFuture.get().getResult()); +} catch (InterruptedException | ExecutionException e) { + System.out.println(e.getMessage()); +} +``` + + + + +```java +MediaApi apiInstance = new MediaApi(defaultClient); +String accountId = "9900000"; +String mediaId = "14762070468292kw2fuqty55yp2b2/0/bw.png"; + +try { + File result = apiInstance.getMedia(accountId, mediaId); + System.out.println(result); +} catch (ApiException e) { + System.err.println("Exception when calling MediaApi#getMedia"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); +} +``` + + + + +### Upload Media + + + + +```java +public static final String ACCOUNT_ID = "12345"; +String mediaId = "media-id-123"; +FileWrapper fileWrapper = new FileWrapper(new File("/path/to/file")); + +try { + CompletableFuture> completableFuture = client.getMessagingClient().getAPIController().uploadMediaAsync(ACCOUNT_ID, mediaId, fileWrapper, "content/type", "no-cache"); + System.out.println(completableFuture.get().getResult()); +} catch (InterruptedException | ExecutionException e) { + System.out.println(e.getMessage()); +} +``` + + + + +```java +MediaApi apiInstance = new MediaApi(defaultClient); +String accountId = "9900000"; +String mediaId = "14762070468292kw2fuqty55yp2b2/0/bw.png"; +File body = new File("/path/to/file"); +String contentType = "audio/wav"; +String cacheControl = "no-cache"; + +try { + apiInstance.uploadMedia(accountId, mediaId, body, contentType, cacheControl); +} catch (ApiException e) { + System.err.println("Exception when calling MediaApi#uploadMedia"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); +} +``` + + + + +### Delete Media + + + + +```java +public static final String ACCOUNT_ID = "12345"; +String mediaId = "media-id-123"; + +try { + CompletableFuture> completableFuture = client.getMessagingClient().getAPIController().deleteMediaAsync(ACCOUNT_ID, mediaId); + System.out.println(completableFuture.get().getResult()); +} catch (InterruptedException | ExecutionException e) { + System.out.println(e.getMessage()); +} +``` + + + + +```java +MediaApi apiInstance = new MediaApi(defaultClient); +String accountId = "9900000"; +String mediaId = "14762070468292kw2fuqty55yp2b2/0/bw.png"; + +try { + apiInstance.deleteMedia(accountId, mediaId); +} catch (ApiException e) { + System.err.println("Exception when calling MediaApi#deleteMedia"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); +} +``` + + + + +## BXML + +### Imports + + + + +```java +import com.bandwidth.voice.bxml.verbs.*; +import com.bandwidth.voice.bxml.verbs.Record; +``` + + + + +```java +import org.openapitools.client.model.bxml.Bxml; +import org.openapitools.client.model.bxml.Forward; +import org.openapitools.client.model.bxml.Tag; +``` + + + + +### Bridge + + + + +```java +Bridge bridge = Bridge.builder() + .callId("c-95ac8d6e-1a31c52e-b38f-4198-93c1-51633ec68f8d") + .bridgeCompleteUrl("https://bridge.url/nextBXMLForSecondCall") + .bridgeTargetCompleteUrl("https://bridge.url/nextBXMLForFirstCall") + .build(); +``` + + + + +```java +Bridge bridge = new Bridge().builder() + .targetCallId("+19198675309") + .bridgeCompleteUrl("https://example.com") + .tag("test") + .build(); +``` + + + + +### Conference + + + + +```java +Conference conference = Conference.builder() + .name("my-conference-name") + .callIdsToCoach(ids) + .build(); +``` + + + + +```java +Conference conference = new Conference().builder() + .name("conf1") + .mute(true) + .hold(false) + .callIdsToCoach("example-call-id") + .conferenceEventUrl("example.com/eventurl") + .conferenceEventMethod("POST") + .conferenceEventFallbackUrl("backupexample.com/eventurl") + .conferenceEventFallbackMethod("POST") + .username("user") + .password("pass") + .fallbackUsername("user") + .fallbackPassword("pass") + .tag("tag") + .callbackTimeout(5d) + .build(); +``` + + + + +### Forward + + + + +```java +Forward forward = Forward.builder() + .to("+10987654321") + .from("+11234567890") + .build(); +``` + + + + +```java +Forward forward = new Forward().builder() + .to("+19195554321") + .from("19195554322") + .callTimeout(15d) + .diversionTreatment(DiversionTreatment.PROPAGATE) + .diversionReason(DiversionReason.AWAY) + .uui("93d6f3c0be5845960b744fa28015d8ede84bd1a4;encoding=base64,asdf;encoding=jwt") + .build(); +``` + + + + +### Gather + + + + +```java +Gather gather = Gather.builder() + .gatherUrl("https://gather.url/nextBxml") + .terminatingDigits("#") + .firstDigitTimeout(10.0) + .audioProducer(speakSentence) + .build(); +``` + + + + +```java +Gather gather = new Gather().builder() + .gatherUrl("test.com") + .gatherMethod("POST") + .gatherFallbackUrl("fallback-test.com") + .gatherFallbackMethod("GET") + .username("user") + .password("pass") + .fallbackUsername("user") + .fallbackPassword("pass") + .tag("tag") + .terminatingDigits("2") + .maxDigits(5) + .interDigitTimeout(1d) + .firstDigitTimeout(3d) + .repeatCount(2) + .children(List.of(playAudio, speakSentence)) + .build(); +``` + + + + + +### Hangup + + + + +```java +Hangup hangup = Hangup.builder().build(); +``` + + + + +```java +Hangup hangup = new Hangup(); +``` + + + + + +### Pause + + + + +```java +Pause pause = Pause.builder() + .duration(2.0) + .build(); +``` + + + + +```java +Pause pause = new Pause(2d); +``` + + + + + +### Pause Recording + + + + +```java +PauseRecording pauseRecording = PauseRecording.builder().build(); +``` + + + + +```java +PauseRecording pauseRecording = new PauseRecording(); +``` + + + + + +### Play Audio + + + + +```java +PlayAudio playAudio1 = PlayAudio.builder() + .audioUri("https;//audio.url/audio1.wav") + .build(); +``` + + + + +```java +PlayAudio playAudio = new PlayAudio().builder() + .audioUri("test.com") + .username("user") + .password("pass") + .build(); +``` + + + + + +### Record + + + + +```java +Record record = Record.builder() + .recordCompleteUrl("https://myapp.com/nextBXML") + .recordingAvailableUrl("https://myapp.com/recordingAvailable") + .maxDuration(10) + .build(); +``` + + + + +```java +Record record = new Record().builder() + .maxDuration(10) + .build(); +``` + + + + + +### Redirect + + + + +```java +Redirect redirect = Redirect.builder() + .redirectUrl("https://flow.url/newFlow") + .build(); +``` + + + + +```java +Redirect redirect = new Redirect().builder() + .redirectUrl("https://example.com/redirect") + .redirectFallbackUrl("fallback-url.com") + .redirectMethod("POST") + .build(); +``` + + + + + +### Resume Recording + + + + +```java +ResumeRecording resumeRecording = ResumeRecording.builder().build(); +``` + + + + +```java +ResumeRecording resumeRecording = new ResumeRecording(); +``` + + + + + +### Ring + + + + +```java +Ring ring = Ring.builder() + .duration(10.0) + .answerCall(false) + .build(); +``` + + + + +```java +Ring ring = new Ring(30d, false); +``` + + + + + +### Send DTMF + + + + +```java +SendDtmf sendDtmf = SendDtmf.builder() + .digits("12w34") + .build(); +``` + + + + +```java +SendDtmf sendDtmf = new SendDtmf("12w34", 3,5); +``` + + + + + +### Speak Sentence + + + + +```java +SpeakSentence speakSentence = SpeakSentence.builder() + .text("This is a test.") + .voice("julie") + .build(); +``` + + + + +```java +SpeakSentence speakSentence = new SpeakSentence().builder() + .innerTags(List.of(sentence)) + .locale(TtsLocale.EN_UK) + .gender(TtsGender.FEMALE) + .build(); +``` + + + + + +### Start Gather + + + + +```java +StartGather startGather = StartGather.builder() + .dtmfUrl("https://startgather.url/callback") + .build(); +``` + + + + +```java +StartGather startGather = new StartGather().builder() + .dtmfUrl("https://example.com/startgather") + .dtmfMethod("POST") + .username("user") + .password("pass") + .tag("tag") + .build(); +``` + + + + + +### Start Recording + + + + +```java +StartRecording startRecording = StartRecording.builder() + .recordingAvailableUrl("https://myapp.com/noBXML") + .build(); +``` + + + + +```java +StartRecording startRecording = new StartRecording().builder() + .recordingAvailableUrl("https://example.com") + .recordingAvailableMethod("POST") + .transcribe(true) + .transcriptionAvailableUrl("transcription-example.com") + .recordingAvailableMethod("POST") + .username("user") + .password("pass") + .tag("tag") + .fileFormat("wav") + .multiChannel(true) + .build(); +``` + + + + + +### Start Stream + + + + +```java + +StreamParam streamParam = StreamParam.builder() + .name("internal_id") + .value("call_ABC") + .build(); + +StartStream startStream = StartStream.builder() + .name("live_audience") + .tracks("both") + .destination("wss://live-studio-audience.myapp.example.com") + .streamEventUrl("https://myapp.example.com/noBXML") + .streamParams(streamParam) + .build(); +``` + + + + +```java +StreamParam streamParam1 = new StreamParam().builder() + .name("name1") + .value("value1") + .build(); + +StreamParam streamParam2 = new StreamParam().builder() + .name("name2") + .value("value2") + .build(); + +StartStream startStream = new StartStream().builder() + .name("stream1") + .tracks(CallDirectionEnum.INBOUND) + .destination("testurl.com") + .streamEventUrl("eventurl.com") + .streamEventMethod("POST") + .username("user") + .password("pass") + .streamParams(List.of(streamParam1, streamParam2)) + .build(); +``` + + + + + +### Stop Gather + + + + +```java +StopGather stopGather = StopGather.builder().build(); +``` + + + + +```java +StopGather stopGather = new StopGather(); +``` + + + + + +### Stop Recording + + + + +```java +StopRecording stopRecording = StopRecording.builder().build(); +``` + + + + +```java +StopRecording stopRecording = new StopRecording(); +``` + + + + + +### Stop Stream + + + + +```java +StopStream stopStream = StopStream.builder() + .name("live_audience") + .build(); +``` + + + + +```java +StopStream stopStream = new StopStream("live_audience"); +``` + + + + + +### Tag + + + + +```java +Tag tag = Tag.builder() + .value("audio playing") + .build(); +``` + + + + +```java +Tag tag1 = new Tag("audio playing"); +``` + + + + + +### Transfer + + + + +```java +PhoneNumber phoneNumber = PhoneNumber.builder() + .phoneNumber("+11234567892") + .build(); + +Transfer transfer = Transfer.builder() + .transferCallerId("+11234567891") + .phoneNumbers(phoneNumber) + .build(); +``` + + + + +```java +PhoneNumber phoneNumber = new PhoneNumber().builder() + .number("+19195551234") + .transferAnswerUrl("https://example.com/webhooks/transfer_answer") + .tag("test") + .transferAnswerMethod("POST") + .build(); + +Transfer transfer = new Transfer().builder() + .callTimeout(15d) + .destinations(List.of(phoneNumber)) + .transferCallerId("+19195554321") + .tag("test") + .build(); +``` + + + + +## Calls + +### Create Call + + + + +```java +String to = "+15553334444"; +String from = "+15554443333"; +String baseUrl = "https://sample.com"; +String answerUrl = baseUrl.concat("/callbacks/answer"); + +CreateCallRequest request = new CreateCallRequest(); +request.setApplicationId(voiceApplicationId); +request.setTo(to); +request.setFrom(from); +request.setAnswerUrl(answerUrl); + +try { + CompletableFuture> completableFuture = client.getVoiceClient().getAPIController().createCallAsync(ACCOUNT_ID, request); + System.out.println(completableFuture.get().getResult()); +} catch (InterruptedException | ExecutionException e) { + System.out.println(e.getMessage()); +} +``` + + + + +```java +CallsApi apiInstance = new CallsApi(defaultClient); +String accountId = "9900000"; +CreateCall createCall = new CreateCall(); + +try { + CreateCallResponse result = apiInstance.createCall(accountId, createCall); + System.out.println(result); +} catch (ApiException e) { + System.err.println("Exception when calling CallsApi#createCall"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); +} +``` + + + + +### Get Call Information + + + + +```java +try { + CompletableFuture> completableFuture = client.getVoiceClient().getAPIController().getCallAsync(ACCOUNT_ID, callId); + System.out.println(completableFuture.get().getResult()); +} catch (InterruptedException | ExecutionException e) { + System.out.println(e.getMessage()); +} +``` + + + + +```java +CallsApi apiInstance = new CallsApi(defaultClient); +String accountId = "9900000"; +String callId = "c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85"; + +try { + CallState result = apiInstance.getCallState(accountId, callId); + System.out.println(result); +} catch (ApiException e) { + System.err.println("Exception when calling CallsApi#getCallState"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); +} +``` + + + + +### Update Call + + + + +```java +ModifyCallRequest request = new ModifyCallRequest(); +request.setState(StateEnum.COMPLETED); + +try { + CompletableFuture> completableFuture = client.getVoiceClient().getAPIController().modifyCallAsync(ACCOUNT_ID, callId, request); + System.out.println(completableFuture.get().getResult()); +} catch (InterruptedException | ExecutionException e) { + System.out.println(e.getMessage()); +} +``` + + + + +```java +CallsApi apiInstance = new CallsApi(defaultClient); +String accountId = "9900000"; +String callId = "c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85"; +UpdateCall updateCall = new UpdateCall(); + +try { + apiInstance.updateCall(accountId, callId, updateCall); +} catch (ApiException e) { + System.err.println("Exception when calling CallsApi#updateCall"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); +} +``` + + + + +### Replace Call BXML + + + + +```java +// Not Possible with V8. +``` + + + + +```java +SpeakSentence speakSentence = new SpeakSentence().builder() + .innerTags("Test sentence.") + .locale(TtsLocale.EN_UK) + .gender(TtsGender.FEMALE) + .build(); + +CallsApi apiInstance = new CallsApi(defaultClient); +String accountId = "9900000"; +String callId = "c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85"; +String body = new Bxml().with(speakSentence).toBxml(jaxbContext); + +try { + apiInstance.updateCallBxml(accountId, callId, body); +} catch (ApiException e) { + System.err.println("Exception when calling CallsApi#updateCallBxml"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); +} +``` + + + + +## Conferences + +### List Conferences + + + + +```java +public static final String ACCOUNT_ID = "12345"; + +try { + CompletableFuture>> completableFuture = client.getVoiceClient().getAPIController().getConferencesAsync(ACCOUNT_ID, null, null, null, null, null); + System.out.println(completableFuture.get().getResult()); +} catch (InterruptedException | ExecutionException e) { + System.out.println(e.getMessage()); +} +``` + + + + +```java +ConferencesApi apiInstance = new ConferencesApi(defaultClient); +String accountId = "9900000"; +String name = "my-custom-name"; +String minCreatedTime = "2022-06-21T19:13:21Z"; +String maxCreatedTime = "2022-06-21T19:13:21Z"; +Integer pageSize = 1000; +String pageToken = "pageToken_example"; + +try { + List result = apiInstance.listConferences(accountId, name, minCreatedTime, maxCreatedTime, pageSize, pageToken); + System.out.println(result); +} catch (ApiException e) { + System.err.println("Exception when calling ConferencesApi#listConferences"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); +} +``` + + + + +### Get Conference Information + + + + +```java +public static final String ACCOUNT_ID = "12345"; +String conferenceId = "conf-95ac8d8d-28e06798-2afe-434c-b0f4-666a79cd47f8"; + +try { + CompletableFuture> completableFuture = client.getVoiceClient().getAPIController().getConferenceAsync(ACCOUNT_ID, conferenceId); + System.out.println(completableFuture.get().getResult()); +} catch (InterruptedException | ExecutionException e) { + System.out.println(e.getMessage()); +} +``` + + + + +```java +ConferencesApi apiInstance = new ConferencesApi(defaultClient); +String accountId = "9900000"; +String conferenceId = "conf-fe23a767-a75a5b77-20c5-4cca-b581-cbbf0776eca9"; + +try { + Conference result = apiInstance.getConference(accountId, conferenceId); + System.out.println(result); +} catch (ApiException e) { + System.err.println("Exception when calling ConferencesApi#getConference"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); +} +``` + + + + +### Update Conference + + + + +```java +public static final String ACCOUNT_ID = "12345"; +ModifyConferenceRequest request = new ModifyConferenceRequest(); +request.setStatus(StatusEnum.COMPLETED); +String conferenceId = "conf-95ac8d8d-28e06798-2afe-434c-b0f4-666a79cd47f8"; + +try { + CompletableFuture> completableFuture = client.getVoiceClient().getAPIController().modifyConferenceAsync(ACCOUNT_ID, conferenceId, request); + System.out.println(completableFuture.get().getResult()); +} catch (InterruptedException | ExecutionException e) { + System.out.println(e.getMessage()); +} +``` + + + + +```java +ConferencesApi apiInstance = new ConferencesApi(defaultClient); +String accountId = "9900000"; +String conferenceId = "conf-fe23a767-a75a5b77-20c5-4cca-b581-cbbf0776eca9"; +UpdateConference updateConference = new UpdateConference(); + +try { + apiInstance.updateConference(accountId, conferenceId, updateConference); +} catch (ApiException e) { + System.err.println("Exception when calling ConferencesApi#updateConference"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); +} +``` + + + + +### Update Conference BXML + + + + +```java +// Not Possible with V8. +``` + + + + +```java + +SpeakSentence speakSentence = new SpeakSentence().builder() + .innerTags("Test sentence.") + .locale(TtsLocale.EN_UK) + .gender(TtsGender.FEMALE) + .build(); + +ConferencesApi apiInstance = new ConferencesApi(defaultClient); +String accountId = "9900000"; +String conferenceId = "conf-fe23a767-a75a5b77-20c5-4cca-b581-cbbf0776eca9"; +String body = new Bxml().with(speakSentence).toBxml(jaxbContext); + +try { + apiInstance.updateConferenceBxml(accountId, conferenceId, body); +} catch (ApiException e) { + System.err.println("Exception when calling ConferencesApi#updateConferenceBxml"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); +} +``` + + + + +### Get Conference Member + + + + +```java +public static final String ACCOUNT_ID = "12345"; +String conferenceId = "conf-95ac8d8d-28e06798-2afe-434c-b0f4-666a79cd47f8"; +String memberId = "c-95ac8d8d-b81437f5-4586-4d5b-9b46-29f8b3fe0aaf"; + +try { + CompletableFuture> completableFuture = client.getVoiceClient().getAPIController().getConferenceMemberAsync(ACCOUNT_ID, conferenceId, memberId); + System.out.println(completableFuture.get().getResult()); +} catch (InterruptedException | ExecutionException e) { + System.out.println(e.getMessage()); +} +``` + + + + +```java +ConferencesApi apiInstance = new ConferencesApi(defaultClient); +String accountId = "9900000"; +String conferenceId = "conf-fe23a767-a75a5b77-20c5-4cca-b581-cbbf0776eca9"; +String memberId = "c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85"; + +try { + ConferenceMember result = apiInstance.getConferenceMember(accountId, conferenceId, memberId); + System.out.println(result); +} catch (ApiException e) { + System.err.println("Exception when calling ConferencesApi#getConferenceMember"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); +} +``` + + + + +### Update Conference Member + + + + +```java +public static final String ACCOUNT_ID = "12345"; +String conferenceId = "conf-95ac8d8d-28e06798-2afe-434c-b0f4-666a79cd47f8"; +String memberId = "c-95ac8d8d-b81437f5-4586-4d5b-9b46-29f8b3fe0aaf"; +ConferenceMemberState conferenceMemberState = new ConferenceMemberState(); +conferenceMemberState.setMute(true); + +try { + CompletableFuture> completableFuture = client.getVoiceClient().getAPIController().modifyConferenceMemberAsync(ACCOUNT_ID, conferenceId, callId, conferenceMemberState); + System.out.println(completableFuture.get().getResult()); +} catch (InterruptedException | ExecutionException e) { + System.out.println(e.getMessage()); +} +``` + + + + +```java +ConferencesApi apiInstance = new ConferencesApi(defaultClient); +String accountId = "9900000"; +String conferenceId = "conf-fe23a767-a75a5b77-20c5-4cca-b581-cbbf0776eca9"; +String memberId = "c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85"; +UpdateConferenceMember updateConferenceMember = new UpdateConferenceMember(); + +try { + apiInstance.updateConferenceMember(accountId, conferenceId, memberId, updateConferenceMember); +} catch (ApiException e) { + System.err.println("Exception when calling ConferencesApi#updateConferenceMember"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); +} +``` + + + + +### List Conference Recordings + + + + +```java +public static final String ACCOUNT_ID = "12345"; +String conferenceId = "conf-95ac8d8d-28e06798-2afe-434c-b0f4-666a79cd47f8"; + +try { + CompletableFuture>> completableFuture = client.getVoiceClient().getAPIController().getConferenceRecordingsAsync(ACCOUNT_ID, conferenceId); + System.out.println(completableFuture.get().getResult()); +} catch (InterruptedException | ExecutionException e) { + System.out.println(e.getMessage()); +} +``` + + + + +```java +ConferencesApi apiInstance = new ConferencesApi(defaultClient); +String accountId = "9900000"; +String conferenceId = "conf-fe23a767-a75a5b77-20c5-4cca-b581-cbbf0776eca9"; + +try { + List result = apiInstance.listConferenceRecordings(accountId, conferenceId); + System.out.println(result); +} catch (ApiException e) { + System.err.println("Exception when calling ConferencesApi#listConferenceRecordings"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); +} +``` + + + + +### Get Conference Recording Information + + + + +```java +public static final String ACCOUNT_ID = "12345"; +String conferenceId = "conf-95ac8d8d-28e06798-2afe-434c-b0f4-666a79cd47f8"; +String recordingId = "r-d68201ef-d53e-4c6d-a743-1c1283909d41"; + +try { + CompletableFuture> completableFuture = client.getVoiceClient().getAPIController().getConferenceRecordingAsync(ACCOUNT_ID, conferenceId, recordingId); + System.out.println(completableFuture.get().getResult()); +} catch (InterruptedException | ExecutionException e) { + System.out.println(e.getMessage()); +} +``` + + + + +```java +ConferencesApi apiInstance = new ConferencesApi(defaultClient); +String accountId = "9900000"; +String conferenceId = "conf-fe23a767-a75a5b77-20c5-4cca-b581-cbbf0776eca9"; +String recordingId = "r-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85"; + +try { + ConferenceRecordingMetadata result = apiInstance.getConferenceRecording(accountId, conferenceId, recordingId); + System.out.println(result); +} catch (ApiException e) { + System.err.println("Exception when calling ConferencesApi#getConferenceRecording"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); +} +``` + + + + +### Download Conference Recording + + + + +```java +public static final String ACCOUNT_ID = "12345"; +String conferenceId = "conf-95ac8d8d-28e06798-2afe-434c-b0f4-666a79cd47f8"; +String recordingId = "r-d68201ef-d53e-4c6d-a743-1c1283909d41"; + +try { + CompletableFuture> completableFuture = client.getVoiceClient().getAPIController().getDownloadConferenceRecordingAsync(ACCOUNT_ID, conferenceId, recordingId); + System.out.println(completableFuture.get().getResult()); +} catch (InterruptedException | ExecutionException e) { + System.out.println(e.getMessage()); +} +``` + + + + +```java +ConferencesApi apiInstance = new ConferencesApi(defaultClient); +String accountId = "9900000"; +String conferenceId = "conf-fe23a767-a75a5b77-20c5-4cca-b581-cbbf0776eca9"; +String recordingId = "r-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85"; + +try { + File result = apiInstance.downloadConferenceRecording(accountId, conferenceId, recordingId); + System.out.println(result); +} catch (ApiException e) { + System.err.println("Exception when calling ConferencesApi#downloadConferenceRecording"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); +} +``` + + + + +## Recordings + +### List Account Call Recordings + + + + +```java +public static final String ACCOUNT_ID = "12345"; + +try { + CompletableFuture>> completableFuture = client.getVoiceClient().getAPIController().getQueryCallRecordingsAsync(ACCOUNT_ID, null, null, null, null); + System.out.println(completableFuture.get().getResult()); +} catch (InterruptedException | ExecutionException e) { + System.out.println(e.getMessage()); +} +``` + + + + +```java +RecordingsApi apiInstance = new RecordingsApi(defaultClient); +String accountId = "9900000"; +String to = "%2b19195551234"; +String from = "%2b19195554321"; +String minStartTime = "2022-06-21T19:13:21Z"; +String maxStartTime = "2022-06-21T19:13:21Z"; + +try { + List result = apiInstance.listAccountCallRecordings(accountId, to, from, minStartTime, maxStartTime); + System.out.println(result); +} catch (ApiException e) { + System.err.println("Exception when calling RecordingsApi#listAccountCallRecordings"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); +} +``` + + + + +### Update Recording + + + + +```java +public static final String ACCOUNT_ID = "12345"; +String callId = "c-95ac8d6e-1a31c52e-b38f-4198-93c1-51633ec68f8d"; +ModifyCallRecordingRequest recordingRequest = new ModifyCallRecordingRequest(); +recordingRequest.setState(State1Enum.PAUSED); + +try { + CompletableFuture> completableFuture = client.getVoiceClient().getAPIController().modifyCallRecordingStateAsync(ACCOUNT_ID, callId, recordingRequest); + System.out.println(completableFuture.get().getResult()); +} catch (InterruptedException | ExecutionException e) { + System.out.println(e.getMessage()); +} +``` + + + + +```java +RecordingsApi apiInstance = new RecordingsApi(defaultClient); +String accountId = "9900000"; +String callId = "c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85"; +UpdateCallRecording updateCallRecording = new UpdateCallRecording(); + +try { + apiInstance.updateCallRecordingState(accountId, callId, updateCallRecording); +} catch (ApiException e) { + System.err.println("Exception when calling RecordingsApi#updateCallRecordingState"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); +} +``` + + + + +### List Call Recordings + + + + +```java +public static final String ACCOUNT_ID = "12345"; +String callId = "c-95ac8d6e-1a31c52e-b38f-4198-93c1-51633ec68f8d"; + +try { + CompletableFuture>> completableFuture = client.getVoiceClient().getAPIController().getCallRecordingsAsync(ACCOUNT_ID, callId); + System.out.println(completableFuture.get().getResult()); +} catch (InterruptedException | ExecutionException e) { + System.out.println(e.getMessage()); +} +``` + + + + +```java +RecordingsApi apiInstance = new RecordingsApi(defaultClient); +String accountId = "9900000"; +String callId = "c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85"; + +try { + List result = apiInstance.listCallRecordings(accountId, callId); + System.out.println(result); +} catch (ApiException e) { + System.err.println("Exception when calling RecordingsApi#listCallRecordings"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); +} +``` + + + + +### Get Call Recording + + + + +```java +public static final String ACCOUNT_ID = "12345"; +String callId = "c-95ac8d6e-1a31c52e-b38f-4198-93c1-51633ec68f8d"; +String recordingId = "r-d68201ef-d53e-4c6d-a743-1c1283909d41"; + +try { + CompletableFuture> completableFuture = client.getVoiceClient().getAPIController().getCallRecordingAsync(ACCOUNT_ID, callId, recordingId); + System.out.println(completableFuture.get().getResult()); +} catch (InterruptedException | ExecutionException e) { + System.out.println(e.getMessage()); +} +``` + + + + +```java +RecordingsApi apiInstance = new RecordingsApi(defaultClient); +String accountId = "9900000"; +String callId = "c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85"; +String recordingId = "r-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85"; + +try { + CallRecordingMetadata result = apiInstance.getCallRecording(accountId, callId, recordingId); + System.out.println(result); +} catch (ApiException e) { + System.err.println("Exception when calling RecordingsApi#getCallRecording"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); +} +``` + + + + +### Delete Recording + + + + +```java +public static final String ACCOUNT_ID = "12345"; +String callId = "c-95ac8d6e-1a31c52e-b38f-4198-93c1-51633ec68f8d"; +String recordingId = "r-d68201ef-d53e-4c6d-a743-1c1283909d41"; + +try { + CompletableFuture> completableFuture = client.getVoiceClient().getAPIController().deleteRecordingAsync(ACCOUNT_ID, callId, recordingId); + System.out.println(completableFuture.get().getResult()); +} catch (InterruptedException | ExecutionException e) { + System.out.println(e.getMessage()); +} +``` + + + + +```java +RecordingsApi apiInstance = new RecordingsApi(defaultClient); +String accountId = "9900000"; +String callId = "c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85"; +String recordingId = "r-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85"; + +try { + apiInstance.deleteRecording(accountId, callId, recordingId); +} catch (ApiException e) { + System.err.println("Exception when calling RecordingsApi#deleteRecording"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); +} +``` + + + + +### Download Recording + + + + +```java +public static final String ACCOUNT_ID = "12345"; +String callId = "c-95ac8d6e-1a31c52e-b38f-4198-93c1-51633ec68f8d"; +String recordingId = "r-d68201ef-d53e-4c6d-a743-1c1283909d41"; + +try { + CompletableFuture> completableFuture = client.getVoiceClient().getAPIController().getDownloadCallRecordingAsync(ACCOUNT_ID, callId, recordingId); + System.out.println(completableFuture.get().getResult()); +} catch (InterruptedException | ExecutionException e) { + System.out.println(e.getMessage()); +} +``` + + + + +```java +RecordingsApi apiInstance = new RecordingsApi(defaultClient); +String accountId = "9900000"; +String callId = "c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85"; +String recordingId = "r-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85"; + +try { + File result = apiInstance.downloadCallRecording(accountId, callId, recordingId); + System.out.println(result); +} catch (ApiException e) { + System.err.println("Exception when calling RecordingsApi#downloadCallRecording"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); +} +``` + + + + +### Delete Recording Media + + + + +```java +public static final String ACCOUNT_ID = "12345"; +String callId = "c-95ac8d6e-1a31c52e-b38f-4198-93c1-51633ec68f8d"; +String recordingId = "r-d68201ef-d53e-4c6d-a743-1c1283909d41"; + +try { + CompletableFuture> completableFuture = client.getVoiceClient().getAPIController().deleteRecordingMediaAsync(ACCOUNT_ID, callId, recordingId); + System.out.println(completableFuture.get().getResult()); +} catch (InterruptedException | ExecutionException e) { + System.out.println(e.getMessage()); +} +``` + + + + +```java +RecordingsApi apiInstance = new RecordingsApi(defaultClient); +String accountId = "9900000"; +String callId = "c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85"; +String recordingId = "r-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85"; + +try { + apiInstance.deleteRecordingMedia(accountId, callId, recordingId); +} catch (ApiException e) { + System.err.println("Exception when calling RecordingsApi#deleteRecordingMedia"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); +} +``` + + + + +### Get Transcription + + + + +```java +public static final String ACCOUNT_ID = "12345"; +String callId = "c-95ac8d6e-1a31c52e-b38f-4198-93c1-51633ec68f8d"; +String recordingId = "r-d68201ef-d53e-4c6d-a743-1c1283909d41"; + +try { + CompletableFuture> completableFuture = client.getVoiceClient().getAPIController().getCallTranscriptionAsync(ACCOUNT_ID, callId, recordingId); + System.out.println(completableFuture.get().getResult()); +} catch (InterruptedException | ExecutionException e) { + System.out.println(e.getMessage()); +} +``` + + + + +```java +RecordingsApi apiInstance = new RecordingsApi(defaultClient); +String accountId = "9900000"; +String callId = "c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85"; +String recordingId = "r-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85"; + +try { + TranscriptionList result = apiInstance.getCallTranscription(accountId, callId, recordingId); + System.out.println(result); +} catch (ApiException e) { + System.err.println("Exception when calling RecordingsApi#getCallTranscription"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); +} +``` + + + + +### Create Transcription Request + + + + +```java +public static final String ACCOUNT_ID = "12345"; +String callId = "c-95ac8d6e-1a31c52e-b38f-4198-93c1-51633ec68f8d"; +String recordingId = "r-d68201ef-d53e-4c6d-a743-1c1283909d41"; +TranscribeRecordingRequest request = new TranscribeRecordingRequest(); +request.setCallbackUrl("https://sample.com/callbacks/transcribe"); + +try { + CompletableFuture> completableFuture = client.getVoiceClient().getAPIController().createTranscribeCallRecordingAsync(ACCOUNT_ID, callId, recordingId, request); + System.out.println(completableFuture.get().getResult()); +} catch (InterruptedException | ExecutionException e) { + System.out.println(e.getMessage()); +} +``` + + + + +```java +RecordingsApi apiInstance = new RecordingsApi(defaultClient); +String accountId = "9900000"; +String callId = "c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85"; +String recordingId = "r-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85"; +TranscribeRecording transcribeRecording = new TranscribeRecording(); + +try { + apiInstance.transcribeCallRecording(accountId, callId, recordingId, transcribeRecording); +} catch (ApiException e) { + System.err.println("Exception when calling RecordingsApi#transcribeCallRecording"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); +} +``` + + + + +### Delete Transcription + + + + +```java +public static final String ACCOUNT_ID = "12345"; +String callId = "c-95ac8d6e-1a31c52e-b38f-4198-93c1-51633ec68f8d"; +String recordingId = "r-d68201ef-d53e-4c6d-a743-1c1283909d41"; + +try { + CompletableFuture> completableFuture = client.getVoiceClient().getAPIController().deleteCallTranscriptionAsync(ACCOUNT_ID, callId, recordingId); + System.out.println(completableFuture.get().getResult()); +} catch (InterruptedException | ExecutionException e) { + System.out.println(e.getMessage()); +} +``` + + + + +```java +RecordingsApi apiInstance = new RecordingsApi(defaultClient); +String accountId = "9900000"; +String callId = "c-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85"; +String recordingId = "r-15ac29a2-1331029c-2cb0-4a07-b215-b22865662d85"; + +try { + apiInstance.deleteCallTranscription(accountId, callId, recordingId); +} catch (ApiException e) { + System.err.println("Exception when calling RecordingsApi#deleteCallTranscription"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); +} +``` + + + + +## Telephone Number Lookup + +### Create Lookup + + + + +```java +public static final String ACCOUNT_ID = "12345"; +List numbers = new ArrayList<>(); +numbers.add("+15553334444"); + +OrderRequest request = new OrderRequest(numbers); + +try { + CompletableFuture> completableFuture = client.getPhoneNumberLookupClient().getAPIController().createLookupRequestAsync(ACCOUNT_ID, request); + System.out.println(completableFuture.get().getResult()); +} catch (InterruptedException | ExecutionException e) { + System.out.println(e.getMessage()); +} +``` + + + + +```java +PhoneNumberLookupApi apiInstance = new PhoneNumberLookupApi(defaultClient); +String accountId = "9900000"; +LookupRequest lookupRequest = new LookupRequest(); + +try { + CreateLookupResponse result = apiInstance.createLookup(accountId, lookupRequest); + System.out.println(result); +} catch (ApiException e) { + System.err.println("Exception when calling PhoneNumberLookupApi#createLookup"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); +} +``` + + + + +### Get Lookup Request Status + + + + +```java +public static final String ACCOUNT_ID = "12345"; +String requestId = "8a358296-e188-4a3a-b974-8e4d12001dd8"; + +try { + CompletableFuture> completableFuture = client.getPhoneNumberLookupClient().getAPIController().getLookupRequestStatusAsync(ACCOUNT_ID, requestId); + System.out.println(completableFuture.get().getResult()); +} catch (InterruptedException | ExecutionException e) { + System.out.println(e.getMessage()); +} +``` + + + + +```java +PhoneNumberLookupApi apiInstance = new PhoneNumberLookupApi(defaultClient); +String accountId = "9900000"; +String requestId = "004223a0-8b17-41b1-bf81-20732adf5590"; + +try { + LookupStatus result = apiInstance.getLookupStatus(accountId, requestId); + System.out.println(result); +} catch (ApiException e) { + System.err.println("Exception when calling PhoneNumberLookupApi#getLookupStatus"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); +} +``` + + + + +## Multi-Factor Authentication + +### Voice MFA Code + + + + +```java +public static final String ACCOUNT_ID = "12345"; +public static final String APPLICATION_ID = "1234-qwer"; +String to = "+15553334444"; +String from = "+15554443333"; +String scope = "sample"; +int digits = 6; +String message = "Your temporary {NAME} {SCOPE} code is {CODE}"; + +TwoFactorCodeRequestSchema request = new TwoFactorCodeRequestSchema(); +request.setApplicationId(APPLICATION_ID); +request.setTo(to); +request.setFrom(from); +request.setScope(scope); +request.setDigits(digits); +request.setMessage(message); + +try { + CompletableFuture> completableFuture = client.getMultiFactorAuthClient().getMFAController().createVoiceTwoFactorAsync(ACCOUNT_ID, request); + System.out.println(completableFuture.get().getResult()); +} catch (InterruptedException | ExecutionException e) { + System.out.println(e.getMessage()); +} +``` + + + + +```java +MfaApi apiInstance = new MfaApi(defaultClient); +String accountId = "9900000"; +String applicationId = "1234-qwer"; +CodeRequest request = new CodeRequest(); +request.setTo("+19195551234"); +request.setFrom("+19195554321"); +request.setApplicationId(applicationId); +request.setScope("scope"); +request.setMessage("Your temporary {NAME} {SCOPE} code is {CODE}"); +request.setDigits(6); + +try { + VoiceCodeResponse result = apiInstance.generateVoiceCode(accountId, request); + System.out.println(result); +} catch (ApiException e) { + System.err.println("Exception when calling MfaApi#generateVoiceCode"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); +} +``` + + + + +### Messaging MFA Code + + + + +```java +public static final String ACCOUNT_ID = "12345"; +public static final String APPLICATION_ID = "1234-qwer"; +String to = "+15553334444"; +String from = "+15554443333"; +String scope = "sample"; +int digits = 6; +String message = "Your temporary {NAME} {SCOPE} code is {CODE}"; + +TwoFactorCodeRequestSchema request = new TwoFactorCodeRequestSchema(); +request.setApplicationId(APPLICATION_ID); +request.setTo(to); +request.setFrom(from); +request.setScope(scope); +request.setDigits(digits); +request.setMessage(message); + +try { + CompletableFuture> completableFuture = client.getMultiFactorAuthClient().getMFAController().createMessagingTwoFactorAsync(ACCOUNT_ID, request); + System.out.println(completableFuture.get().getResult()); +} catch (InterruptedException | ExecutionException e) { + System.out.println(e.getMessage()); +} +``` + + + + +```java +MfaApi apiInstance = new MfaApi(defaultClient); +String accountId = "9900000"; +String applicationId = "1234-qwer"; +CodeRequest request = new CodeRequest(); +request.setTo("+19195551234"); +request.setFrom("+19195554321"); +request.setApplicationId(applicationId); +request.setScope("scope"); +request.setMessage("Your temporary {NAME} {SCOPE} code is {CODE}"); +request.setDigits(6); + +try { + MessagingCodeResponse result = apiInstance.generateMessagingCode(accountId, codeRequest); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling MfaApi#generateMessagingCode"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } +``` + + + + +### Verify MFA Code + + + + +```java +public static final String ACCOUNT_ID = "12345"; +public static final String APPLICATION_ID = "1234-qwer"; +String to = "+15553334444"; +String scope = "sample"; +String code = "159193"; +int expirationTimeInMinutes = 3; + +TwoFactorVerifyRequestSchema request = new TwoFactorVerifyRequestSchema(); +request.setApplicationId(APPLICATION_ID); +request.setTo(to); +request.setScope(scope); +request.setCode(code); +request.setExpirationTimeInMinutes(expirationTimeInMinutes); + +try { + CompletableFuture> completableFuture = client.getMultiFactorAuthClient().getMFAController().createVerifyTwoFactorAsync(ACCOUNT_ID, request); + System.out.println(completableFuture.get().getResult()); +} catch (InterruptedException | ExecutionException e) { + System.out.println(e.getMessage()); +} +``` + + + + +```java +BigDecimal expirationTime = new BigDecimal(3); +Long minTn = 1111111111L; +Long maxTn = 9999999999L; + +VerifyCodeRequest request = new VerifyCodeRequest(); +request.setTo("+19195551234"); +request.setScope("2FA"); +request.setExpirationTimeInMinutes(expirationTime); +request.setCode("123456"); + +try { + VerifyCodeResponse result = apiInstance.verifyCode(accountId, request); + System.out.println(result); +} catch (ApiException e) { + System.err.println("Exception when calling MfaApi#verifyCode"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); +} +``` + + + diff --git a/site/migration-guides/python/intro.md b/site/migration-guides/python/intro.md index 487d94f33..5a0e82a67 100644 --- a/site/migration-guides/python/intro.md +++ b/site/migration-guides/python/intro.md @@ -5,6 +5,8 @@ slug: /python description: Python SDK Migration Guides sidebar_label: Overview image: '@site/static/img/bw-icon.svg' +pagination_next: null +pagination_prev: null --- See our releases on [GitHub](https://github.com/Bandwidth/python-sdk/releases) for more detailed changelogs diff --git a/site/migration-guides/python/v15.mdx b/site/migration-guides/python/v15.mdx index c5b4fde54..07833ee71 100644 --- a/site/migration-guides/python/v15.mdx +++ b/site/migration-guides/python/v15.mdx @@ -6,6 +6,8 @@ description: Python v14 to v15 Migration Guide sidebar_label: v14 -> v15-beta hide_title: false image: '@site/static/img/bw-icon.svg' +pagination_next: null +pagination_prev: null --- import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; @@ -143,6 +145,160 @@ except bandwidth.ApiException as e: +## Media + +### List Media + + + + +```py +BW_ACCOUNT_ID = "12345" + +try: + response = messaging_client.list_media(BW_ACCOUNT_ID) + print(response.body) +except APIException as e: + print(e.response_code) +``` + + + + +```py +api_instance = media_api.MediaApi(api_client) +account_id = "9900000" # str | Your Bandwidth Account ID. +continuation_token = "1XEi2tsFtLo1JbtLwETnM1ZJ+PqAa8w6ENvC5QKvwyrCDYII663Gy5M4s40owR1tjkuWUif6qbWvFtQJR5/ipqbUnfAqL254LKNlPy6tATCzioKSuHuOqgzloDkSwRtX0LtcL2otHS69hK343m+SjdL+vlj71tT39" # str | Continuation token used to retrieve subsequent media. (optional) + +# example passing only required values which don't have defaults set +try: + api_response = api_instance.list_media(account_id) + pprint(api_response) +except bandwidth.ApiException as e: + print("Exception when calling MediaApi->list_media: %s\n" % e) + +# example passing only required values which don't have defaults set +# and optional values +try: + api_response = api_instance.list_media(account_id, continuation_token=continuation_token) + pprint(api_response) +except bandwidth.ApiException as e: + print("Exception when calling MediaApi->list_media: %s\n" % e) +``` + + + + +### Get Media + + + + +```py +BW_ACCOUNT_ID = "12345" +media_file_name = 'media-id-123' + +try: + response = messaging_client.get_media(BW_ACCOUNT_ID, media_file_name) + downloaded_media_file = response.body +except APIException as e: + print(e.response_code) +``` + + + + +```py +api_instance = media_api.MediaApi(api_client) +account_id = "9900000" # str | Your Bandwidth Account ID. +media_id = "14762070468292kw2fuqty55yp2b2/0/bw.png" # str | Media ID to retrieve. + +try: + api_response = api_instance.get_media(account_id, media_id) + pprint(api_response) +except bandwidth.ApiException as e: + print("Exception when calling MediaApi->get_media: %s\n" % e) +``` + + + + +### Upload Media + + + + +```py +BW_ACCOUNT_ID = "12345" +media_file_name = 'sample_file_name' +media_file = b'12345' #Any binary string will work for the upload. This includes file contents + +try: + messaging_client.upload_media(BW_ACCOUNT_ID, media_file_name, media_file) +except APIException as e: + print(e.response_code) +``` + + + + +```py +api_instance = media_api.MediaApi(api_client) +account_id = "9900000" # str | Your Bandwidth Account ID. +media_id = "14762070468292kw2fuqty55yp2b2/0/bw.png" # str | Media ID to retrieve. +body = open('/path/to/file', 'rb') # file_type | +content_type = "audio/wav" # str | The media type of the entity-body. (optional) +cache_control = "no-cache" # str | General-header field is used to specify directives that MUST be obeyed by all caching mechanisms along the request/response chain. (optional) + +# example passing only required values which don't have defaults set +try: + api_instance.upload_media(account_id, media_id, body) +except bandwidth.ApiException as e: + print("Exception when calling MediaApi->upload_media: %s\n" % e) + +# example passing only required values which don't have defaults set +# and optional values +try: + api_instance.upload_media(account_id, media_id, body, content_type=content_type, cache_control=cache_control) +except bandwidth.ApiException as e: + print("Exception when calling MediaApi->upload_media: %s\n" % e) +``` + + + + +### Delete Media + + + + +```py +BW_ACCOUNT_ID = "12345" +media_id = "m-1234" + +try: + messaging_client.delete_media(BW_ACCOUNT_ID, media_id) +except APIException as e: + print(e.response_code) +``` + + + + +```py +api_instance = media_api.MediaApi(api_client) +account_id = "9900000" # str | Your Bandwidth Account ID. +media_id = "14762070468292kw2fuqty55yp2b2/0/bw.png" # str | Media ID to retrieve. + +try: + api_instance.delete_media(account_id, media_id) +except bandwidth.ApiException as e: + print("Exception when calling MediaApi->delete_media: %s\n" % e) +``` + + + + ## BXML ### Imports @@ -1349,7 +1505,7 @@ except bandwidth.ApiException as e: ## Recordings -### List Call Recordings +### List Account Call Recordings diff --git a/site/sidebarsMigrationGuides.js b/site/sidebarsMigrationGuides.js index 7ffe17ae2..9399329a3 100644 --- a/site/sidebarsMigrationGuides.js +++ b/site/sidebarsMigrationGuides.js @@ -13,5 +13,13 @@ module.exports = { "python/v15-beta" ] }, + { + type: "category", + label: "Java", + items: [ + "java/java-migration-guides", + "java/v9-beta" + ] + } ], }; diff --git a/site/src/pages/sdks/java.js b/site/src/pages/sdks/java.js index dd7a69968..05d5c0df7 100644 --- a/site/src/pages/sdks/java.js +++ b/site/src/pages/sdks/java.js @@ -21,7 +21,8 @@ const props = { ghLink: 'https://github.com/Bandwidth/java-bandwidth-iris' } ], - samplesLink: 'https://github.com/orgs/Bandwidth-Samples/repositories?language=java' + samplesLink: 'https://github.com/orgs/Bandwidth-Samples/repositories?language=java', + migrationGuides: true }; export default function sdkPage() {