{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"ce6e94ae-29a7-4fa9-8704-0faf9949d3b9","name":"Mashery API","description":"- [What is this?](#what-is-this)\n- [Why should I use it?](#why-should-i-use-it)\n- [How do I install and configure?](#how-do-i-install-and-configure)\n- [How exactly do I get credentials to use the API?](#how-exactly-do-i-get-credentials-to-use-the-api)\n- [How do I execute the collection of requests?](#how-do-i-execute-the-collection-of-requests)\n- [How do I execute requests individually?](#how-do-i-execute-requests-individually)\n- [Reference](#reference)\n    - [Getting an access token](#getting-an-access-token)\n    - [Command line](#command-line)\n    - [API Specification](#api-specification)\n    - [JSON to CSV](#json-to-csv)\n    - [Node.js implementation for v3 API](#node.js-implementation-for-v3-api)\n    - [Pagination](#pagination)\n\n**Confidentiality**\n\n© 2023 TIBCO Software Inc. All rights reserved.\n\nThe following is information of TIBCO Software Inc. Use, duplication, transmission, or republication for any purpose without the prior written consent of TIBCO is expressly prohibited.\n\n**Disclaimer**\n\nThis document (including, without limitation, any product roadmap or statement of direction data) illustrates the planned testing, release and availability dates for TIBCO products and services. This document is provided for informational purposes only and its contents are subject to change without notice. TIBCO makes no warranties, express or implied, in or relating to this document or any information in it, including, without limitation, that this document, or any information in it, is error-free or meets any conditions of merchantability or fitness for a particular purpose. This document may not be reproduced or transmitted in any form or by any means without our prior written permission.  \nThe material provided is for informational purposes only, and should not be relied on in making a purchasing decision. The information is not a commitment, promise or legal obligation to deliver any material, code, or functionality. The development, release, and timing of any features or functionality described for our products remain at our sole discretion.  \nIn this document TIBCO or its representatives may make forward-looking statements regarding future events, TIBCO’s future results or our future financial performance. These statements are based on management’s current expectations. Although we believe that the expectations reflected in the forward-looking statements contained in this document are reasonable, these expectations or any of the forward-looking statements could prove to be incorrect and actual results or financial performance could differ materially from those stated herein. TIBCO does not undertake to update any forward-looking statement that may be made from time to time or on its behalf.\n\n# What is this?\n\nThis collection runs all GET requests available in the [v3 Mashery API](https://developer.mashery.com/docs/read/mashery_api/30) to extract all data (except portal and EAVs) for an area.\n\nAdditionally, it provides most of the common requests for creating, updating and deleting resources.\n\nAlso, there are example [v2 Mashery API](https://developer.mashery.com/docs/read/mashery_api/20) requests.\n\nFor OAuth examples, see the companion [Mashery API OAuth collection](https://documenter.getpostman.com/view/4885521/RzfnknBN).\n\nFor reporting, see the companion [Mashery Activity Report](https://documenter.getpostman.com/view/4885521/RzZFBw9W).\n\n# Why should I use it?\n\nIt provides a convenient, portable way of using the Mashery API without doing any coding or reading much documentation. It's easy to make ad hoc requests and updates using the pre-built requests.\n\n# How do I install and configure?\n\n---\n\n**NOTE:**  \nIf you are using Mashery Local 5.1 or greater in untethered mode, then please consult the installation and configuration manual.\n\n---\n\n- You need a Mashery area, an id (username/password) and a v3 API key/secret. If you don't have these, then sign-up at [https://developer.mashery.com/](https://developer.mashery.com/).\n- Download and install Postman from from [https://www.getpostman.com/apps](https://www.getpostman.com/apps).\n- Open Postman, click on the 'Manage Environments' gear icon in the top right, select the 'Globals' button and add variables with values set to your credentials:\n    - 'v3 API domain' set to 'api.mashery.com'\n    - 'v3 API key'\n    - 'v3 API secret'\n    - 'v3 API username'\n    - 'v3 API password'\n    - 'area id' (the UUID)\n    - 'site id' (the id, only required for v2 API)\n- In a browser, go to [https://documenter.getpostman.com/view/4885521/Uz5MFZgo](https://documenter.getpostman.com/view/4885521/Uz5MFZgo) and select 'Run in Postman' (button top right). This imports into Postman the Mashery API request collection.\n- In Postman, [create an environment](https://learning.postman.com/docs/sending-requests/managing-environments/#creating-environments) to use with the collection. You can call it anything, e.g., _Mashery API_, and you do not need to add any variables. [Select the environment](https://learning.postman.com/docs/sending-requests/managing-environments/#selecting-an-active-environment) before using the collection.\n    \n\nThat's it.\n\n# How exactly do I get credentials to use the API?\n\n- Register a new user on your Developer Portal who will use the API. Tip: It's good to use a group email address so multiple people can use it.\n- Log in to the API Control Center with your existing Administrator user and set the new user's role to 'Service User'.\n- Now go to the [<i>Mashery</i> Developer Portal](https://developer.mashery.com) and log in with your new user.\n- Select 'My Account' in the top right corner.\n- Select 'Applications' and 'Create New App'.\n- Complete the information and be sure to request a key/secret for 'Mashery API: V2 + V3 (Basic)'.\n    \n\nThe TIBCO Support team will enable the key within 24 hours. The key allows 2 requests per second (QPS), 5000 per day (Quota). Your API responses return HTTP headers with information about your limits. For example:\n\nX-PackageKey-QPS-Allotted: 2  \nX-PackageKey-QPS-Current: 1  \nX-PackageKey-Quota-Allotted: 5000  \nX-PackageKey-Quota-Current: 12\n\n# How do I execute the collection of requests?\n\nThe v3 collection can be run automatically to execute all GET requests for your Mashery area. This is good if you want to compile a snapshot of all your configuration data.\n\nTo do this:\n\n- Hover over the 'Mashery API' collection in the left sidebar, select the ellipsis and click Run collection on the righthand side.\n- Select 'Run'.\n- In the 'Delay' text box enter 750 (ms). This prevents any throttling.\n- Select the 'Run Mashery API' button.\n    \n\nThat's it. Depending on your Mashery area's data, it can take several minutes to run. When it completes, you can select the individual requests to examine the response data or select 'Export Results' to save the run in JSON format.\n\n# How do I execute requests individually?\n\nFirst, for the [v3 API](https://developer.mashery.com/docs/read/mashery_api/30) you need to [get an access token](#Getting-an-access-token). You can now select any request and run it.\n\nIn order to make the handling of request parameters easier:\n\n1. Some request responses pre-populate data for other requests. For example, executing 'Get Members' builds a list of members, so if you then execute 'Get Members Applications' the 'memberId' in that request is already set.\n2. Requests to create, update and delete resources are grouped in the 'Resources - update' sub-folder. The requests in these folders can be executed in order to show a _typical_ create-update-delete workflow. For full details of what's possible, see the [API specification](https://developer.mashery.com/docs/read/mashery_api/30). As above, responses from requests are used to pre-populate resource ids for the next request. For example, 'Post Member' creates a new member and pre-populates the 'memberId' parameter for a subsequent 'Put Member' update request.\n3. [https://api.mashery.com/v3/rest/applications?filter=name:Starter](https://api.mashery.com/v3/rest/applications?filter=name:Starter) App[https://api.mashery.com/v3/rest/packages?filter=name:Acme](https://api.mashery.com/v3/rest/packages?filter=name:Acme) OAuth,name:Acme Package\n4. [https://api.mashery.com/v3/rest/packagesKeys?search=member.username:myUser](https://api.mashery.com/v3/rest/packagesKeys?search=member.username:myUser)  \n    See the [API specification](https://developer.mashery.com/docs/read/mashery_api/30) for more details.\n    \n\n[v2 Mashery API](https://developer.mashery.com/docs/read/mashery_api/20) example requests can be run directly. For the general 'Object Query' request then set the variable 'v2 object query'.\n\nNote, rather than changing requests themselves, use Postman's 'Environment quick look' to set request parameters. Click the eye icon in the top right, scroll to the top and select 'Edit'.\n\n# Reference\n\n## Getting an access token\n\nTo execute any Mashery API request you need an access token so in Postman go to the Authentication folder and run the 'Get Token' request.\n\nNote: your 'v3 API key' and 'v3 API secret' are used in the Authorization header for the 'Get Token' request. The resulting access token is used in all other requests:\n\n`Authorization: Bearer xxxtokenxxx`\n\nThe token lasts one hour. You can now execute any other request. If you see a response 'Not Authorized', then you need a new token.\n\n## Command line\n\nYou can run the v3 collection from the command line with the Postman '[Newman](https://www.getpostman.com/docs/v6/postman/collection_runs/command_line_integration_with_newman)' utility. You'll need to export from Postman to disk the collection, envronment and globals.\n\n`newman --delay-request 750 --globals \"Tibco Mashery.postman_globals.json\" run \"Mashery API.postman_collection.json\" > Mashery\\ API.log`\n\n## API Specification\n\nThe Mashery v3 API specification is available at:\n\n[https://developer.mashery.com/docs/read/mashery_api/30](https://developer.mashery.com/docs/read/mashery_api/30)\n\nThe Mashery v2 API specification is available at:\n\n[https://developer.mashery.com/docs/read/mashery_api/20](https://developer.mashery.com/docs/read/mashery_api/20)\n\n## JSON to CSV\n\nJSON responses are not very useful if you want to use Excel or similar for further analysis. However, each response is logged to the Postman Console in both CSV and JSON formats.\n\nA few tools to convert JSON to CSV are:\n\n- Use Excel to [convert a JSON file](https://support.office.com/en-us/article/connect-to-a-json-file-f65207ab-d957-4bf0-bec3-a08bb53cd4c0). Note: this is not supported on Microsoft Excel for Mac so use one of the options below.\n- The [Atom editor](https://atom.io/) and install the 'json-converter' package.\n- [json2csv](https://www.npmjs.com/package/json2csv) command line tool.\n    \n\nThere are online options but these are not recommended for security reasons.\n\n## Node.js implementation for v3 API\n\nFirst, install pre-requisite packages (macOS commands shown):\n\n```\nbrew install node\nnpm install newman --save\nnpm install minimist --save\nnpm install url-exists --save\n\n ```\n\nCreate a file masheryapi.js containing:\n\n``` javascript\nvar fs = require('fs'),\n    newman = require('newman'),\n    argv = require('minimist')(process.argv.slice(2),\n    urlExists = require('url-exists'),\n      { string: ['key','secret','username','password','area','environment','collection'] }\n    ),\n    results = [],\n    base = new String(process.argv[1]).substring(process.argv[1].lastIndexOf('/') + 1);\n// Check arguments\ntry {\n  if (typeof argv.k.length === \"undefined\" ||\n  typeof argv.s.length === \"undefined\" ||\n  typeof argv.u.length === \"undefined\" ||\n  typeof argv.p.length === \"undefined\" ||\n  typeof argv.a.length === \"undefined\" ||\n  typeof argv.c.length === \"undefined\") {\n    throw \"Invalid arguments\";\n  }\n} catch (err) {\n  console.log('\\nusage: node ' + base + ' -k \"v3 API key\" -s \"v3 API secret\" -u \"Mashery username\" -p \"Mashery password\" -a \"Mashery area\" -c \"Collection file or URL\"\\n');\n    console.log('Runs collection with environment and produces a JSON file of the Mashery area.\\n');\n  process.exit(1);;\n};\n// Check collection location exists\nurlExists(argv.c, function(err, exists) {\n  if (exists == false) {\n    fs.stat(argv.c, (err, stats) => {\n      if (!stats || !stats.isFile() ) {\n        console.log(\"Collection file \" + argv.c + \" does not exist\");\n        process.exit(1);\n      }\n    });\n  }\n});\ncollection = argv.c;\nnewman.run({\n    reporters: 'cli',\n    collection: collection,\n    // Populate globals with arguments\n    globals:\n    {\n      \"id\": \"9db4901b-d354-4915-81ae-af422eb76528\",\n      \"values\": [\n        {\n          \"key\": \"v3 API domain\",\n          \"value\": \"api.mashery.com\",\n          \"description\": {\n            \"content\": \"\",\n            \"type\": \"text/plain\"\n          },\n          \"enabled\": true\n        },\n        {\n          \"key\": \"v3 API key\",\n          \"value\": argv.k,\n          \"description\": {\n            \"content\": \"\",\n            \"type\": \"text/plain\"\n          },\n          \"enabled\": true\n        },\n        {\n          \"key\": \"v3 API secret\",\n          \"value\": argv.s,\n          \"description\": {\n            \"content\": \"\",\n            \"type\": \"text/plain\"\n          },\n          \"enabled\": true\n        },\n        {\n          \"key\": \"v3 API username\",\n          \"value\": argv.u,\n          \"description\": {\n            \"content\": \"\",\n            \"type\": \"text/plain\"\n          },\n          \"enabled\": true\n        },\n        {\n          \"key\": \"v3 API password\",\n          \"value\": argv.p,\n          \"description\": {\n            \"content\": \"\",\n            \"type\": \"text/plain\"\n          },\n          \"enabled\": true\n        },\n        {\n          \"key\": \"area id\",\n          \"value\": argv.a,\n          \"type\": \"text\",\n          \"description\": \"\",\n          \"enabled\": true\n        },\n        {\n          \"key\": \"site id\",\n          \"value\": argv.t,\n          \"type\": \"text\",\n          \"description\": \"\",\n          \"enabled\": true\n        }\n      ],\n      \"name\": \"Mashery API Auth\"\n    },\n    delayRequest: 750 // Avoid throttling\n})\n.on('request', function (err, args) {\n    if (!err) {\n        var responseBody = args.response.stream, // Response object\n            body = '\"body\": ' + responseBody.toString().trim();\n            location = '\"location\": \"' + args.request.url.toString().replace(/^.*\\/\\/[^\\/]+/, '').split(/[?#]/)[0].trim() + '\",';   // request - path, no protocol, domain or query string\n            resource = \"{\" + location + body + \"}\";\n        try {\n          results.push(JSON.parse(resource)); // this is just to aggregate all requests/responses into one object\n        } catch(err) {\n          console.log(\"\\nCannot parse resource \" + resource.toString());\n          process.exit(1);\n        }\n    }\n})\n.on('done', function (err, summary) {\n    try {\n      fs.writeFileSync(argv.a + \".json\", JSON.stringify(results, null, 4));  // Write to a file\n    } catch (err) {\n      console.log(\"Cannot create output file \" + argv.a + \".json\");\n    }\n});\n\n ```\n\nExport the Mashery API collection and environment from Postman to disk.\n\nUsage is:\n\nnode masheryapi.js -k \"v3 API key\" -s \"v3 API secret\" -u \"Mashery username\" -p \"Mashery password\" -a \"Mashery area\" -c \"Collection file or URL\"\n\nThis will dump the entire area to a JSON file with name {{area id}}.json.\n\nFor example,\n\n```\nnode masheryapi.js -k 4bwt42e4xxxxxxxfkxsh6xh6 -s Eq5xxxKZ3U -u sdenham@tibco.com -p AP@ssW0rd -a d0f1fd51-e81e-44c7-b4eb-945e2c1c932c -c 'Mashery API.postman_collection.json'\n\n ```\n\n...will produce d0f1fd51-e81e-44c7-b4eb-945e2c1c932c.json.\n\n## Pagination\n\n1. Make HEAD/GET request to the resource.\n2. This returns a response header X-Total-Count - the total number of resources.\n3. Use the query parameter limit= for the page size.\n4. Use the query parameter offset= for the next page.\n    \n\nFor example:\n\nHEAD [https://api.mashery.com/v3/rest/services](https://api.mashery.com/v3/rest/services)\n\nX-Total-Count: 14\n\nFirst page of 5:\n\n[https://api.mashery.com/v3/rest/services?limit=5&amp;offset=0](https://api.mashery.com/v3/rest/services?limit=5&offset=0)\n\nNext page of 5:\n\n[https://api.mashery.com/v3/rest/services?limit=5&amp;offset=4](https://api.mashery.com/v3/rest/services?limit=5&offset=4)\n\nFinal page of 4:\n\n[https://api.mashery.com/v3/rest/services?limit=4&amp;offset=9](https://api.mashery.com/v3/rest/services?limit=4&offset=9)\n\nNote: for MARK (Members, Applications, Roles and (Package) Keys) resources the offset value is a page offset (not a record offset) unless the optional query parameter record_offset=1 is used. You can also filter by created and updated date, e.g.,\n\n`/members?filter=createdStartDate:2022-05-01T00:00:00-07:00,createdEndDate:2022-05-25T23:59:59-07:00,updatedStartDate:2022-05-01T00:00:00-07:00,updatedEndDate:2022-05-25T23:59:59-07:00`\n\nUse the date/time format yyyy-mm-ddThh:mm:sszzz that includes the timezone.","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":false,"owner":"4885521","team":173382,"collectionId":"ce6e94ae-29a7-4fa9-8704-0faf9949d3b9","publishedId":"Uz5MFZgo","public":true,"publicUrl":"https://documenter-api.postman.tech/view/4885521/Uz5MFZgo","privateUrl":"https://go.postman.co/documentation/4885521-ce6e94ae-29a7-4fa9-8704-0faf9949d3b9","customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"EF5B25"},"documentationLayout":"classic-double-column","customisation":null,"version":"8.10.0","publishDate":"2022-06-09T21:05:09.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{},"logos":{}},"statusCode":200},"environments":[],"user":{"authenticated":false,"permissions":{"publish":false}},"run":{"button":{"js":"https://run.pstmn.io/button.js","css":"https://run.pstmn.io/button.css"}},"web":"https://www.getpostman.com/","team":{"logo":"https://res.cloudinary.com/postman/image/upload/t_team_logo_pubdoc/v1/team/4896a25d7b836a72113558106de2cd21b285e8a489c8ac7127ce26eeeefcc575","favicon":""},"isEnvFetchError":false,"languages":"[{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"HttpClient\"},{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"RestSharp\"},{\"key\":\"curl\",\"label\":\"cURL\",\"variant\":\"cURL\"},{\"key\":\"dart\",\"label\":\"Dart\",\"variant\":\"http\"},{\"key\":\"go\",\"label\":\"Go\",\"variant\":\"Native\"},{\"key\":\"http\",\"label\":\"HTTP\",\"variant\":\"HTTP\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"OkHttp\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"Unirest\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"Fetch\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"jQuery\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"XHR\"},{\"key\":\"c\",\"label\":\"C\",\"variant\":\"libcurl\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Axios\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Native\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Request\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Unirest\"},{\"key\":\"objective-c\",\"label\":\"Objective-C\",\"variant\":\"NSURLSession\"},{\"key\":\"ocaml\",\"label\":\"OCaml\",\"variant\":\"Cohttp\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"cURL\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"Guzzle\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"HTTP_Request2\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"pecl_http\"},{\"key\":\"powershell\",\"label\":\"PowerShell\",\"variant\":\"RestMethod\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"http.client\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"Requests\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"httr\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"RCurl\"},{\"key\":\"ruby\",\"label\":\"Ruby\",\"variant\":\"Net::HTTP\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"Httpie\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"wget\"},{\"key\":\"swift\",\"label\":\"Swift\",\"variant\":\"URLSession\"}]","languageSettings":[{"key":"csharp","label":"C#","variant":"HttpClient"},{"key":"csharp","label":"C#","variant":"RestSharp"},{"key":"curl","label":"cURL","variant":"cURL"},{"key":"dart","label":"Dart","variant":"http"},{"key":"go","label":"Go","variant":"Native"},{"key":"http","label":"HTTP","variant":"HTTP"},{"key":"java","label":"Java","variant":"OkHttp"},{"key":"java","label":"Java","variant":"Unirest"},{"key":"javascript","label":"JavaScript","variant":"Fetch"},{"key":"javascript","label":"JavaScript","variant":"jQuery"},{"key":"javascript","label":"JavaScript","variant":"XHR"},{"key":"c","label":"C","variant":"libcurl"},{"key":"nodejs","label":"NodeJs","variant":"Axios"},{"key":"nodejs","label":"NodeJs","variant":"Native"},{"key":"nodejs","label":"NodeJs","variant":"Request"},{"key":"nodejs","label":"NodeJs","variant":"Unirest"},{"key":"objective-c","label":"Objective-C","variant":"NSURLSession"},{"key":"ocaml","label":"OCaml","variant":"Cohttp"},{"key":"php","label":"PHP","variant":"cURL"},{"key":"php","label":"PHP","variant":"Guzzle"},{"key":"php","label":"PHP","variant":"HTTP_Request2"},{"key":"php","label":"PHP","variant":"pecl_http"},{"key":"powershell","label":"PowerShell","variant":"RestMethod"},{"key":"python","label":"Python","variant":"http.client"},{"key":"python","label":"Python","variant":"Requests"},{"key":"r","label":"R","variant":"httr"},{"key":"r","label":"R","variant":"RCurl"},{"key":"ruby","label":"Ruby","variant":"Net::HTTP"},{"key":"shell","label":"Shell","variant":"Httpie"},{"key":"shell","label":"Shell","variant":"wget"},{"key":"swift","label":"Swift","variant":"URLSession"}],"languageOptions":[{"label":"C# - HttpClient","value":"csharp - HttpClient - C#"},{"label":"C# - RestSharp","value":"csharp - RestSharp - C#"},{"label":"cURL - cURL","value":"curl - cURL - cURL"},{"label":"Dart - http","value":"dart - http - Dart"},{"label":"Go - Native","value":"go - Native - Go"},{"label":"HTTP - HTTP","value":"http - HTTP - HTTP"},{"label":"Java - OkHttp","value":"java - OkHttp - Java"},{"label":"Java - Unirest","value":"java - Unirest - Java"},{"label":"JavaScript - Fetch","value":"javascript - Fetch - JavaScript"},{"label":"JavaScript - jQuery","value":"javascript - jQuery - JavaScript"},{"label":"JavaScript - XHR","value":"javascript - XHR - JavaScript"},{"label":"C - libcurl","value":"c - libcurl - C"},{"label":"NodeJs - Axios","value":"nodejs - Axios - NodeJs"},{"label":"NodeJs - Native","value":"nodejs - Native - NodeJs"},{"label":"NodeJs - Request","value":"nodejs - Request - NodeJs"},{"label":"NodeJs - Unirest","value":"nodejs - Unirest - NodeJs"},{"label":"Objective-C - NSURLSession","value":"objective-c - NSURLSession - Objective-C"},{"label":"OCaml - Cohttp","value":"ocaml - Cohttp - OCaml"},{"label":"PHP - cURL","value":"php - cURL - PHP"},{"label":"PHP - Guzzle","value":"php - Guzzle - PHP"},{"label":"PHP - HTTP_Request2","value":"php - HTTP_Request2 - PHP"},{"label":"PHP - pecl_http","value":"php - pecl_http - PHP"},{"label":"PowerShell - RestMethod","value":"powershell - RestMethod - PowerShell"},{"label":"Python - http.client","value":"python - http.client - Python"},{"label":"Python - Requests","value":"python - Requests - Python"},{"label":"R - httr","value":"r - httr - R"},{"label":"R - RCurl","value":"r - RCurl - R"},{"label":"Ruby - Net::HTTP","value":"ruby - Net::HTTP - Ruby"},{"label":"Shell - Httpie","value":"shell - Httpie - Shell"},{"label":"Shell - wget","value":"shell - wget - Shell"},{"label":"Swift - URLSession","value":"swift - URLSession - Swift"}],"layoutOptions":[{"value":"classic-single-column","label":"Single Column"},{"value":"classic-double-column","label":"Double Column"}],"versionOptions":[],"environmentOptions":[{"value":"0","label":"No Environment"}],"canonicalUrl":"https://documenter.gw.postman.com/view/metadata/Uz5MFZgo"}