{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"422a8b0d-ed97-46e9-847c-36e147397c00","name":"NOWPayments API","description":"NOWPayments is a non-custodial cryptocurrency payment processing platform. Accept payments in a wide range of cryptos and get them instantly converted into a coin of your choice and sent to your wallet. Keeping it simple – no excess.\n\n# Authentication\n\nTo use the NOWPayments API you should do the following:\n\n- Sign up at [nowpayments.io](https://nowpayments.io);\n    \n- Specify your payout wallet;\n    \n- Generate an API key and IPN secret key;  \n    Please note: IPN secret key may be shown fully only upon creation. Make sure to save it after generation.\n    \n\n# **NOWPayments Integration Guide**\n\nFor more detailed information on how to integrate and use the NOWPayments API, please refer to our comprehensive [NOWPayments Integration Guide.](https://nowpayments.notion.site/NOWPayments-Integration-Guide-40c516d0d940489d903b61efc002ba47) This guide provides step-by-step instructions on setting up and managing payouts, API requests, and other features to help you get started quickly and effectively.\n\n# **Integration Scenarios**\n\nFor a deeper understanding of different integration possibilities, check out our [Integration Scenarios Guide](https://nowpayments.notion.site/NOWPayments-2-Integration-Scenarios-for-Developers-313b318f4ddb80f28297f3839bc8b911). This guide outlines possible integration methods, providing practical examples and insights to help you implement the best solution for your business needs.\n\n# Standard e-commerce flow for NOWPayments API:\n\n1. API - Check API availability with the [\"GET API status\"](https://documenter.getpostman.com/view/7907941/2s93JusNJt#0316fd95-ad58-4d36-82c0-d94455d019ac) method. If required, check the list of available payment currencies with the [\"GET available currencies\"](https://documenter.getpostman.com/view/7907941/2s93JusNJt#7bfbe4fb-440f-4e46-966b-2f452a70013c) method;\n    \n2. UI - Ask a customer to select item/items for purchase to determine the total sum;\n    \n3. UI - Ask a customer to select payment currency;\n    \n4. API - Get the minimum payment amount for the selected currency pair (payment currency to your payout wallet currency) with the [\"GET Minimum payment amount\"](https://documenter.getpostman.com/view/7907941/2s93JusNJt#ce3fe3a3-00cd-4df2-bfba-641fde741da7) method;\n    \n5. API - Get the estimate of the total amount in crypto with [\"GET Estimated price\"](https://documenter.getpostman.com/view/7907941/2s93JusNJt#3c86a16e-94ad-4230-a470-4e833766a4c7) and check that it is larger than the minimum payment amount from step 4;\n    \n6. API - Call the [\"POST Create payment\"](https://documenter.getpostman.com/view/7907941/2s93JusNJt#74c91a83-da39-4e39-b3db-1ed4c5c233f8) method to create a payment and get the deposit address (in our example, the generated BTC wallet address is returned from this method);\n    \n7. UI - Ask a customer to send the payment to the generated deposit address (in our example, user has to send BTC coins);\n    \n8. UI - A customer sends coins, NOWPayments processes and exchanges them (if required), and settles the payment to your payout wallet (in our example, to your ETH address);\n    \n9. API - You can get the payment status either via our IPN callbacks or manually, using [\"GET Payment Status\"](https://documenter.getpostman.com/view/7907941/2s93JusNJt#62a6d281-478d-4927-8cd0-f96d677b8de6) and display it to a customer so that they know when their payment has been processed;\n    \n10. API - you call the list of payments made to your account via the [\"GET List of payments\"](https://documenter.getpostman.com/view/7907941/2s93JusNJt#c38d2410-1523-4313-8764-0043ba1cb24f) method;\n    \n11. Additionally, you can see all of this information in your [Account](https://account.nowpayments.io/payments) on NOWPayments website;\n    \n\n## Alternative flow\n\n1. API - Check API availability with the [\"GET API status\"](https://documenter.getpostman.com/view/7907941/2s93JusNJt#0316fd95-ad58-4d36-82c0-d94455d019ac) method. If required, check the list of available payment currencies with the [\"GET available currencies\"](https://documenter.getpostman.com/view/7907941/2s93JusNJt#7bfbe4fb-440f-4e46-966b-2f452a70013c) method;\n    \n2. UI - Ask a customer to select item/items for purchase to determine the total sum;\n    \n3. UI - Ask a customer to select payment currency;\n    \n4. API - Get the minimum payment amount for the selected currency pair (payment currency to your payout wallet currency) with the [\"GET Minimum payment amount\"](https://documenter.getpostman.com/view/7907941/2s93JusNJt#ce3fe3a3-00cd-4df2-bfba-641fde741da7) method;\n    \n5. API - Get the estimate of the total amount in crypto with [\"GET Estimated price\"](https://documenter.getpostman.com/view/7907941/2s93JusNJt#3c86a16e-94ad-4230-a470-4e833766a4c7) and check that it is larger than the minimum payment amount from step 4;\n    \n6. API - Call the [\"POST Create Invoice](https://documenter.getpostman.com/view/7907941/2s93JusNJt#f5e4e645-dce2-4b06-b2ca-2a29aaa5e845) method to create an invoice. Set \"success_url\" - parameter so that the user will be redirected to your website after successful payment;\n    \n7. UI - display the invoice url or redirect the user to the generated link;\n    \n8. NOWPayments - the customer completes the payment and is redirected back to your website (only if \"success_url\" parameter is configured correctly!);\n    \n9. API - You can get the payment status either via our IPN callbacks or manually, using [\"GET Payment Status\"](https://documenter.getpostman.com/view/7907941/2s93JusNJt#62a6d281-478d-4927-8cd0-f96d677b8de6) and display it to a customer so that they know when their payment has been processed;\n    \n10. API - you call the list of payments made to your account via the [\"GET List of payments\"](https://documenter.getpostman.com/view/7907941/2s93JusNJt#c38d2410-1523-4313-8764-0043ba1cb24f) method;\n    \n11. Additionally, you can see all of this information in your [Account](https://account.nowpayments.io/invoices) on NOWPayments website;\n    \n\n# API Documentation\n\n## Instant Payments Notifications\n\nIPN (Instant payment notifications, or callbacks) are used to notify you when transaction status is changed.  \nTo use them, you should complete the following steps:\n\n1. Generate and save the IPN Secret key in Payment Settings tab at the Dashboard;\n    \n2. Insert your URL address where you want to get callbacks in create_payment request. The parameter name is ipn_callback_url. You will receive payment updates (statuses) to this URL address.**  \n    Please, take note that we cannot send callbacks to your localhost unless it has dedicated IP address.**\n    \n3. **important** Please make sure that firewall software on your server (i.e. Cloudflare) does allow our requests to come through. It may be required to whitelist our IP addresses on your side to get it. The list of these IP addresses can be requested at [partners@nowpayments.io](https://mailto:partners@nowpayments.io);\n    \n4. You will receive all the parameters at the URL address you specified in (2) by POST request;  \n    The POST request will contain the _x-nowpayments-sig_ parameter in the header.  \n    The body of the request is similiar to a [get payment status](https://documenter.getpostman.com/view/7907941/2s93JusNJt#62a6d281-478d-4927-8cd0-f96d677b8de6) response body.  \n    You can see examples in \"Webhook examples\" section.\n    \n5. Sort the POST request by keys and convert it to string using  \n    [JSON.stringify](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify) (params, Object.keys(params).sort()) or the same function;\n    \n6. Sign a string with an IPN-secret key with HMAC and sha-512 key;\n    \n7. Compare the signed string from the previous step with the x-nowpayments-sig , which is stored in the header of the callback request;  \n    If these strings are similar, it is a success.  \n    Otherwise, contact us on [support@nowpayments.io](https://mailto:support@nowpayments.io) to solve the problem.\n    \n\nExample of creating a signed string at Node.JS\n\n```\nfunction sortObject(obj) {\n  return Object.keys(obj).sort().reduce(\n    (result, key) => {\n      result[key] = (obj[key] && typeof obj[key] === 'object') ? sortObject(obj[key]) : obj[key]\n      return result\n    },\n    {}\n  )\n}\nconst hmac = crypto.createHmac('sha512', notificationsKey);\nhmac.update(JSON.stringify(sortObject(params)));\nconst signature = hmac.digest('hex');\n\n ```\n\nExample of comparing signed strings in PHP\n\n```\nfunction tksort(&$array)\n  {\n  ksort($array);\n  foreach(array_keys($array) as $k)\n    {\n    if(gettype($array[$k])==\"array\")\n      {\n      tksort($array[$k]);\n      }\n    }\n  }\nfunction check_ipn_request_is_valid()\n    {\n        $error_msg = \"Unknown error\";\n        $auth_ok = false;\n        $request_data = null;\n        if (isset($_SERVER['HTTP_X_NOWPAYMENTS_SIG']) && !empty($_SERVER['HTTP_X_NOWPAYMENTS_SIG'])) {\n            $recived_hmac = $_SERVER['HTTP_X_NOWPAYMENTS_SIG'];\n            $request_json = file_get_contents('php://input');\n            $request_data = json_decode($request_json, true);\n            tksort($request_data);\n            $sorted_request_json = json_encode($request_data, JSON_UNESCAPED_SLASHES);\n            if ($request_json !== false && !empty($request_json)) {\n                $hmac = hash_hmac(\"sha512\", $sorted_request_json, trim($this->ipn_secret));\n                if ($hmac == $recived_hmac) {\n                    $auth_ok = true;\n                } else {\n                    $error_msg = 'HMAC signature does not match';\n                }\n            } else {\n                $error_msg = 'Error reading POST data';\n            }\n        } else {\n            $error_msg = 'No HMAC signature sent.';\n        }\n    }\n\n ```\n\nExample comparing signed signatures in Python\n\n``` python\nimport json \nimport hmac \nimport hashlib\ndef np_signature_check(np_secret_key, np_x_signature, message):\n    sorted_msg = json.dumps(message, separators=(',', ':'), sort_keys=True)\n    digest = hmac.new(\n    str(np_secret_key).encode(), \n    f'{sorted_msg}'.encode(),\n    hashlib.sha512)\n    signature = digest.hexdigest()\n    if signature == np_x_signature:\n        return\n    else:\n        print(\"HMAC signature does not match\")\n\n ```\n\nUsually you will get a notification per each step of processing payments, withdrawals, or transfers, related to custodial recurring payments.\n\nThe webhook is being sent automatically once the transaction status is changed.\n\nYou also can request an additional IPN notification using your NOWPayments dashboard.\n\nPlease note that you should set up an endpoint which can receive POST requests from our server.\n\nBefore going production we strongly recommend to make a test request to this endpoint to ensure it works properly.\n\n## Recurrent payment notifications\n\nIf an error is detected, the payment will be flagged and will receive additional recurrent notifications (number of recurrent notifications can be changed in your Payment Settings-> Instant Payment Notifications).\n\nIf an error is received again during the payment processing, recurrent notifications will be initiated again.\n\nExample: \"Timeout\" is set to 1 minute and \"Number of recurrent notifications\" is set to 3.\n\nOnce an error is detected, you will receive 3 notifications at 1 minute intervals.\n\n## **Webhooks Examples:**\n\nPayments:\n\n``` json\n{\n\"payment_id\":123456789,\n\"parent_payment_id\":987654321,\n\"invoice_id\":null,\n\"payment_status\":\"finished\",\n\"pay_address\":\"address\",\n\"payin_extra_id\":null,\n\"price_amount\":1,\n\"price_currency\":\"usd\",\n\"pay_amount\":15,\n\"actually_paid\":15,\n\"actually_paid_at_fiat\":0,\n\"pay_currency\":\"trx\",\n\"order_id\":null,\n\"order_description\":null,\n\"purchase_id\":\"123456789\",\n\"outcome_amount\":14.8106,\n\"outcome_currency\":\"trx\",\n\"payment_extra_ids\":null\n\"fee\": {\n\"currency\":\"btc\",\n\"depositFee\":0.09853637216235617,\n\"withdrawalFee\":0,\n\"serviceFee\":0\n}\n}\n\n ```\n\nWithdrawals:\n\n``` json\n{\n\"id\":\"123456789\",\n\"batch_withdrawal_id\":\"987654321\",\n\"status\":\"CREATING\",\n\"error\":null,\n\"currency\":\"usdttrc20\",\n\"amount\":\"50\",\n\"address\":\"address\",\n\"fee\":null,\n\"extra_id\":null,\n\"hash\":null,\n\"ipn_callback_url\":\"callback_url\",\n\"created_at\":\"2023-07-27T15:29:40.803Z\",\n\"requested_at\":null,\n\"updated_at\":null\n}\n\n ```\n\nCustodial recurring payments:\n\n``` json\n{\n\"id\":\"1234567890\",\n\"status\":\"FINISHED\",\n\"currency\":\"trx\",\n\"amount\":\"12.171365564140688\",\n\"ipn_callback_url\":\"callback_url\",\n\"created_at\":\"2023-07-26T14:20:11.531Z\",\n\"updated_at\":\"2023-07-26T14:20:21.079Z\"\n}\n\n ```\n\n## **Repeated Deposits and Wrong-Asset Deposits**\n\nThis section explains how we handle two specific types of deposits: **repeated deposits (re-deposits)** and **wrong-asset deposits**. These deposits may require special processing or manual intervention, and understanding how they work will help you manage your payments more effectively.\n\n1. **Repeated Deposits**\n    \n\n**Repeated deposits** are additional payments sent to the same deposit address that was previously used by a customer to fully or partially pay an invoice. These deposits are processed at the current exchange rate at the time they are received. They are marked with either the \"Partially paid\" or \"Finished\" status. If you need to clarify your current repeated-deposit settings, please check with your payment provider regarding the default status.\n\nIn the **Payments History** section of the personal account, these payments are labeled as **\"Re-deposit\"**. Additionally, in the payment details, the **Original payment ID** field will display the ID of the original transaction.\n\n**Recommendation**:\n\nRecommendation: When integrating, we recommend tracking the **'parent_payment_id' parameter** in **Instant Payment Notifications** and being aware that the **total amount of repeated deposits may differ from the expected payment amount**. This helps avoid the risk of providing services in cases of underpayment.  \nWe do not recommend configuring your system to automatically provide services or ship goods based on any repeated-deposit status. If you choose to configure it this way, you should be aware of the risk of providing services in cases of underpayment. **For additional risk acceptance please refer to section 6 of our Terms of Service**.\n\n**NB**: Repeated deposits are always converted to the same asset as the original payment.  \n**Note:** To review the current flow or change the default status of repeated payments to \"Finished\" or \"Partially paid\", please contact us at [support@nowpayments.io](https://mailto:support@nowpayments.io).\n\n**2\\. Wrong-Asset Deposits**\n\nWrong-asset deposits occur when a payment is sent using the wrong network or asset (e.g. a user may mistakenly send **USDTERC20** instead of **ETH)**, and this network and asset are supported by our service.\n\nThese payments will appear in the **Payments History** section with the label **\"Wrong Asset\"** and, by default, will require manual intervention to resolve.\n\n**Recommendation**: When integrating, we recommend configuring your system to check the **amount, asset type** and the '**parent_payment_id' param in Instant Payment Notifications** of the incoming deposit to avoid the risks of providing services in case of insufficient funds.\n\nIf you want wrong-asset deposits to be processed automatically, you can enable the **Wrong-Asset Deposits Auto-Processing** option in your account settings (Settings -> Payment -> Payment details). Before enabling this option, please take into account that **the final sum of the sent deposit may differ from the expected payment amount and by default** these payments always receive \"Finished\" status.\n\nIf needed, we can also provide an option to assign a **\"partially paid\"** status to deposits processed through this feature. For more details, please contact [<b>support@nowpayments.io</b>](https://mailto:support@nowpayments.io)\n\n## Packages\n\nPlease find our out-of-the box packages for easy integration below:\n\n[JavaScript package](https://www.npmjs.com/package/@nowpaymentsio/nowpayments-api-js)\n\n\\[PHP package\\]  \n([https://packagist.org/packages/nowpayments/nowpayments-api-php](https://packagist.org/packages/nowpayments/nowpayments-api-php))\n\nMore coming soon!\n\n## Payments","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":false,"owner":"7907941","team":411802,"collectionId":"422a8b0d-ed97-46e9-847c-36e147397c00","publishedId":"2s93JusNJt","public":true,"publicUrl":"https://documenter-api.postman.tech/view/7907941/2s93JusNJt","privateUrl":"https://go.postman.co/documentation/7907941-422a8b0d-ed97-46e9-847c-36e147397c00","customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"64ACFF"},"documentationLayout":"classic-double-column","customisation":{"metaTags":[{"name":"description","value":"NOWPayments API simplifies crypto payments. Accept a variety of cryptocurrencies with features like Custody, Conversions, Mass Payouts &amp; recurring payments API. Explore the API docs to start accepting crypto payments easily. Try NOWPayments, the payment processing platform for crypto."},{"name":"title","value":"NOWPayments API: The Ultimate Crypto Payment Platform"}],"appearance":{"default":"light","themes":[{"name":"dark","logo":null,"colors":{"top-bar":"212121","right-sidebar":"303030","highlight":"64ACFF"}},{"name":"light","logo":null,"colors":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"64ACFF"}}]}},"version":"8.10.1","publishDate":"2023-04-21T16:32:49.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{"title":"NOWPayments API: The Ultimate Crypto Payment Platform","description":"NOWPayments API simplifies crypto payments. Accept a variety of cryptocurrencies with features like Custody, Conversions, Mass Payouts &amp; recurring payments API. Explore the API docs to start accepting crypto payments easily. Try NOWPayments, the payment processing platform for crypto."},"logos":{"logoLight":null,"logoDark":null}},"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/4cdafe0c99d47ced702482e394e077d26df58a20ae76a604273728139b829231","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/2s93JusNJt"}