{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"8a58357a-734f-4361-9eb3-c498bf9c817d","name":"GSH Trade Submission API Endpoints Reference","description":"# Status - under construction\n\nThis documentation presents the GSH EFP Trade Submission API Endpoints evolving design. It is updated as the technical requirements are streamlined.\n\n**Participants can commence their API development with these details. There may be small changes during testing and as we receive feedback.**\n\nPlease provide feedback to: [SupportHub@aemo.com.au](mailto:SupportHub@aemo.com.au)\n\n# Purpose\n\nThe Gas Supply Hub (GSH) EFP Trade Submission Endpoints are part of the [CapacityAuction API](https://developer-portal-prd.aemo.com.au/CapacityAuction). Authorised participants can use them to submit and retrieve EFP Trade Submissions.\n\nThis documentation explains the standards, rules, context, conventions, parameters, and methods for the endpoints.\n\n# Audience\n\nAEMO provides this information as a service targeting Registered Participants':\n\n1. Business analysts and technology staff.\n2. API developers.\n    \n\n# Related rules and procedures\n\n- [National Gas Rules](https://energy-rules.aemc.gov.au/ngr)\n- [Gas Supply Hub Exchange Agreement](https://aemo.com.au/-/media/files/gas/gas_supply_hubs/market_operations/gsh-exchange-agreement.pdf?la=en)\n- [Settlements and Prudential Methodology](https://aemo.com.au/-/media/files/gas/gas_supply_hubs/settlements-and-payments/settlements/settlements-prudential-methodology.pdf?la=en)\n    \n\n# Assumed knowledge\n\nAn understanding of the following is required:\n\n1. API and JSON fundamentals\n2. [Gas Supply Hub Industry Guide](https://aemo.com.au/-/media/files/gas/gas_supply_hubs/market_operations/gas-supply-hub-industry-guide.pdf?la=en)\n3. [Guide to AEMO's e-Hub APIs](https://portal.prod.nemnet.net.au/help/Content/API_Reference/API_introduction.htm?TocPath=API Reference|_____0)\n4. [Guide to GSH EFP Trade Submission](https://portal.preprod.nemnet.net.au/help/Content/GSHfutureSubmission/GasFutureSubmission.htm?TocPath=GSH|GSH%20Future%20Submission|_____0)\n5. [Guide to Information Systems](https://aemo.com.au/-/media/files/market-it-systems/guide-to-information-systems.pdf?la=en)\n6. RESTful programming architecture\n    \n\n# Prerequisites\n\nBefore you can use the EFP Trade Submission Endpoints you must:\n\n1. Have a Participant ID. If your company is a Registered Participant, it is set up during the registration process.\n2. Have a user ID and password with access rights provided by your company's participant administrator. For details, see user rights access below.\n3. [Register with AEMO to use APIs](https://dev.aemo.com.au/register-on-the-portal).\n4. Have an API gateway and a [Certificate.](https://dev.aemo.com.au/tls-certificates)\n5. Test your submission in the pre-production environment before submitting to production. AEMO encourages participants to use the pre-production environment to test procedures and train staff.\n    \n\nStartFragment\n\n# Support hub resolver group\n\nIf you contact [AEMO's Support Hub](https://aemo.com.au/contact-us) for help, ask them to direct your ticket to one of the following resolver groups:\n\n- Business: Gas Market Monitoring\n- Gas Scheduling Systems\n    \n\n# Known issues\n\n## Price\n\nIn the submission, a valid price is entered with 2 decimal places, but the response appends a 0 after the decimal place e.g:\n\n- Submission 5.23\n- Response: 5.230\n    \n\n## Volume\n\nIn the submission, a valid volume is entered as whole number, but the response appends a 0 after the decimal place e.g:\n\n- Submission 500\n- Response 500.0\n    \n\n## Invalid csv structure\n\nSubmitting a POST request with an incorrect column name, returns a 200 response instead of 400 bad request.\n\n# Resources\n\n- [Data interchange online help](https://www.aemo.com.au/energy-systems/electricity/national-electricity-market-nem/data-nem/nemweb-help)\n- [Gas Supply Hub Industry Guide](https://aemo.com.au/-/media/files/gas/gas_supply_hubs/market_operations/gas-supply-hub-industry-guide.pdf?la=en)\n- [Guide to AEMO's e-Hub APIs](https://aemo.com.au/-/media/files/electricity/nem/it-systems-and-change/2020/guide-to-aemos-ehub-apis.pdf)\n- [Guide to EFP Trade Submission](https://portal.preprod.nemnet.net.au/help/Content/GSHfutureSubmission/GasFutureSubmission.htm?TocPath=GSH|GSH%20Future%20Submission|_____0)\n- [Guide to Information Systems](https://aemo.com.au/-/media/files/market-it-systems/guide-to-information-systems.pdf?la=en)\n- [Guide to User Rights Management (URM)](https://aemo.com.au/energy-systems/market-it-systems/electricity-system-guides/participant-administration-and-user-rights)\n- [Industry Terminology](https://aemo.com.au/learn/industry-terminology)\n- [TLS certificate](https://dev.aemo.com.au/tls-certificates)\n    \n\n# API format\n\n## Input\n\nThe gasFutureUploadRequest has the following 2 input elements:\n\n1. A request header.\n2. A JSON schema (no query parameters or csv payloads).\n    \n\n## Output\n\n1. A JSON schema\n    \n\n# Input and output protocol\n\nHTTPS\n\n# API access\n\nThe EFP Trade Submission Endpoints are accessible over MarketNet only via AEMO's e-Hub API gateway. For details, see [Guide to AEMO's e-Hub APIs](https://aemo.com.au/-/media/files/electricity/nem/it-systems-and-change/2020/guide-to-aemos-ehub-apis.pdf).\n\n# Authentication\n\n- API connections use mTLS certificates to secure the transport layer with encrypted communication and  \n    secure interactions between participants’ and AEMO’s systems.\n- AEMO issues mTLS [certificates](https://dev.aemo.com.au/tls-certificates) to participants on request.\n    \n\n# Authorisation\n\n- API calls are authorised by Basic HTTP authentication ([Basic Auth](https://dev.aemo.com.au/urm-username-password)) using a username and password assigned by your company’s participant administrator. See [Guide to User Rights Management (URM)](https://aemo.com.au/energy-systems/market-it-systems/electricity-system-guides/participant-administration-and-user-rights).\n    \n\n# User rights access\n\nThe access right participant administrators provide for access to the CDR API is:\n\n- GSH Future Submission\n    \n\nFor details about user rights access, creating new Participant Users and assigning rights, see [Guide to User Rights Management (URM)](https://aemo.com.au/energy-systems/market-it-systems/electricity-system-guides/participant-administration-and-user-rights).\n\n# AEMO API portal\n\nAt the scheduled release time, API details, including Swagger/OAS files are available from AEMO’s API Portal:\n\n- Pre-production\n- [Production](https://developer-portal-prd.aemo.com.au/)\n    \n\n# Compression\n\nAEMO APIs support HTTPS protocol compression controlled by the HTTPS request header attributes, allowing compression before sending and responding. The EFP Trade Submission endpoints have the following compressed payload:\n\n| **Parameter** | **Value** |\n| --- | --- |\n| Content-Encoding | gzip, compress, or deflate  <br>If not provided no compression is assumed |\n| Accept-Encoding | gzip, compress, or deflate  <br>If not provided no compression is assumed |\n\n# Throttling\n\nTBC\n\nTo control traffic, AEMO implements Throttling on API Endpoint requests. If Participant ID requests exceed the Throttling limit a HTTP 429 or 422 response returns. For more details, see Response codes.\n\n<table><tbody><tr><th><p>Endpoint</p></th><th><p>Limits</p></th></tr><tr><td><p>gasFutureUploadRequest</p></td><td><p>1 request per second per participantId.</p><p>The participantId is identified from the X-initiatingParticipantID request header parameter.</p><p>Participants systems must manage this Throttling limit because if you submit multiple JSON requests for the same participantId at the same time, AEMO may reject some.</p></td></tr><tr><td><p>gasFutureRequest</p></td><td><p>100 requests, per minute, per participantId</p></td></tr></tbody></table>\n\n# Submission interfaces\n\nThere are several ways to submit a Trade:\n\n1. Markets Portal web interface, see [Markets Portal Help > Gas Supply Hub > GSH Future Submission](https://portal.preprod.nemnet.net.au/help/Content/Topics/GSH.htm?TocPath=Gas%20Supply%20Hub|_____0).\n2. Markets Portal upload csv payload interface, see [Markets Portal Help > Gas Supply Hub > GSH Future Submission](https://portal.preprod.nemnet.net.au/help/Content/Topics/GSH.htm?TocPath=Gas%20Supply%20Hub|_____0).\n3. API (this guide)\n    \n\n# Submission rules\n\nThe following submission rules apply:\n\n- The submission interfaces are only available during the Submission Period (EFP Trading Window). Trying to submit an EFP Trade Submission outside the window results in a response error. For details about the submission period, see [Guide to EFP Trade Submission](https://portal.preprod.nemnet.net.au/help/Content/GSHfutureSubmission/GasFutureSubmission.htm?TocPath=GSH|GSH%20Future%20Submission|_____0).\n- One JSON schema (itemList) can have many EFP Trade Records.\n- The schema must have the JSON extension.\n- The order of parameters in the schema does not matter.\n- The parameter format is important.\n- A record must consist of at least these required parameters: gasFutureId, startDate, endDate, tradeType, price, volume.\n- Each record is processed separately: Records passing validation are matched, records not passing validation are rejected, every listItem is validated.\n- The failure to pass validation of one record does not result in the rejection of all records (the entire Submission).\n- AEMO informs Trading Participants of the validation status.\n- Records not passing validation are not effective and you must resubmit them.\n- The latest Pending record is the effective record.\n- If there are multiple records with the same Gas Future ID, AEMO uses the most recent record.\n- The reports are triggered on a valid record.\n    \n\n# Submission status\n\n| **Status** | **Description** |\n| --- | --- |\n| FAIL | The record did not pass validation |\n| PENDING | The Preliminary EFP Trade Submission passed validation and is included in the Forward Exposure Prudential calculation |\n| OVERRIDE | A recent EFP Trade Submission record replaced this trade |\n| MATCH | The EPF trade is created and no longer included in the Forward Exposure Prudential calculation |\n\n# Changing a pending trade\n\nTo change the details of a Pending EFP Trade Record, submit a new gasFutureUploadRequest for the same Trade with the changed details. Providing the record is valid, the status for the original PENDING trade record changes to OVERRIDE and the new one is the PENDING record.\n\n# Validation\n\n| **Field** | **Message** | **Status** |\n| --- | --- | --- |\n| participantId | Submission rejected because the Trading Participant is not registered in the GSH | FAIL |\n| price | Enter a price range between minus 100 and 999 e.g: 1050.23 | FAIL |\n| price | Enter a price with only 2 decimal places, e.g: 1050.23 | FAIL |\n| price | Submission rejected because the Final EFP Trade Submission Price must match the Preliminary EFP Trade Submission Price | FAIL |\n| price (trading margin) | Submission rejected because the has insufficient Trading Margin | FAIL |\n| tradeType | Enter a trade type of either: BUY or SELL | FAIL |\n| gasFutureId | Enter your EFP Trade ID (Gas Future ID) for the Final EFP Trade Submission | FAIL |\n| gasFutureId | The Gas Future ID cannot be more than 20 characters e.g: ASX-AEMO-1364-AB3267 | FAIL |\n| gasFutureId | The Gas Future ID must in this format XXX-AEMO-XXXX-XXXXX e.g: ASX-AEMO-1364-AB3267 | FAIL |\n| gasFutureId | Submission rejected because this Gas Future ID is previously matched. The Gas Future ID must be unique for each BUY/SELL trade pair | FAIL |\n| volume | Enter a positive whole number for the volume, e.g: 234 | FAIL |\n| endDate | Enter an end date in the following format: YYYY/MM/DD or DD/MM/YYYY, e.g: 2022/04/30 | FAIL |\n| startDate | Enter a start date in the following format: YYYY/MM/DD or DD/MM/YYYY,, e.g: 2022/04/30 | FAIL |\n| endDate & startDate | The start and end date must match the Preliminary EFP Trade Submission | FAIL |\n| all fields | Submission matched | MATCHED |\n| all fields | Submission successful | PENDING |\n\n# Response times\n\n- Connection timeout 10 seconds.\n- Response timeout (including connection timeout) 30 seconds.\n    \n\n# Response codes\n\n| Code | Description | Scenario |\n| --- | --- | --- |\n| 200  <br>  <br> | OK  <br>  <br> | The Authorization (Basic Auth) and Header parameters are correct so a Successful response returns |\n| 400  <br>  <br> | Mandatory header X-initiatingParticipantID is missing and/or Mandatory header X-Market is missing | One of the mandatory header parameters, initiatingParticipantID or X-Market are missing |\n| 401  <br>  <br> | Unauthorized  <br>  <br> | The Authorization credentials, Username or Password are entered incorrectly or invalid  <br>  <br>The e-Hub also sends the following payload:  <br>  <br>{\"Exception\": \"Unauthorized:Invalid UserName or Password\"} |\n| 403  <br>  <br> | Invalid Role  <br>  <br> | The participantId does not have access to the API. For help, see [TLS Certificates](https://dev.aemo.com.au/tls-certificates) |\n| 404 | Resources for the endpoint URI not found | The URI details are incorrect |\n| 405 | Method not allowed | The request method is invalid, e.g. GET instead of POST |\n| 422 | Unprocessable Entity | The API content failed business validation rules. |\n| 422 | Primary Key Violation (A Bid/Offer already exists for the same time) | This message is equivalent to 429 Too Many Requests. Due to a backend process error where the request slips through the throttling validation and triggers a primary key violation. Wait and retry the submission |\n| 429  <br>  <br> | Too Many Requests  <br>  <br> | Possible reasons:  <br>  <br>\\* The requests exceed the throttling limit of 1 request per second. Wait and retry the submission  <br>\\* A primary key violation due to a backend process error where the request slips through the throttling validation and triggers a primary key violation. Wait and retry the submission |\n| 500  <br>  <br> | Application Unavailable  <br>  <br> | Possible reasons:  <br>  <br>\\* The Certificate or key do not match  <br>\\* The AEMO Gateway is unavailable. Wait and retry the submission |\n| 502  <br>  <br> | Bad Gateway  <br>  <br> | The AEMO Gateway is unavailable. Wait and retry the submission |\n| 503 | Exceeds throttling Limits | 429 Too Many Requests replaces this response code |\n\n# Reports\n\nThe following private reports are sent to relevant Trading Participants:\n\n- Trade Execution Report: Provides EFP Trade Information each time there is an EFP Trade Submission and at the end of each Business Day.\n- GSH Future Trade Submission Report: Provides EFP Trade Information each time there is an EFP Trade Submission and EFP Trade match.\n    \n\n# Report Delivery\n\nYou can retrieve the report using the following methods:\n\n- GSH Publishing Direct\n- Participant File Server\n- Data Model/Data Interchange\n    \n\nFor details, see [Guide to EFP Trade Submission](https://portal.preprod.nemnet.net.au/help/Content/GSHfutureSubmission/GasFutureSubmission.htm?TocPath=GSH|GSH%20Future%20Submission|_____0).\n\n# Gas Data Model\n\nParticipants with Data Interchange environments can retrieve their EFP Trade Submission data from the following tables and files.\n\nFor help, see [Data interchange online help](https://www.aemo.com.au/energy-systems/electricity/national-electricity-market-nem/data-nem/nemweb-help).\n\n## Tables\n\n| Table name | Description | Visibility |\n| --- | --- | --- |\n| GSH.TRADES_STAGING | Populated whenever an EFP trade is submitted to AEMO | Private |\n| GSH_TRADES | Populated each time there is an EFP Trade submission, match, and trade creation | Private |\n\n## Files\n\n| Table name | Description | When | Recipient | Visibility |\n| --- | --- | --- | --- | --- |\n| GSH_TRADE_SINGLE | Provides a confirmation to Trading Participants (buyer and seller) when a trade is executed through auto matching of bids, offers, submissions or by off-Market trades | On trade submission | Trading Participants (buyer and seller) | Private |\n| GSH_TRADE_RANGE | Provides Trading Participants with a list of their EFP trades | At the end of the Gas Day | Trading Participants | Private |\n| GSH_FUTURE_TRADE_SINGLE | Contains all relevant records from EFP Trade submissions | On EFP Trade Submission | Trading participants | Private |\n\n# API endpoints and response details","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":false,"owner":"10342609","team":697355,"collectionId":"8a58357a-734f-4361-9eb3-c498bf9c817d","publishedId":"UVz1Nrz4","public":true,"publicUrl":"https://documenter-api.postman.tech/view/10342609/UVz1Nrz4","privateUrl":"https://go.postman.co/documentation/10342609-8a58357a-734f-4361-9eb3-c498bf9c817d","customColor":{"top-bar":"FFFFFF","right-sidebar":"492249","highlight":"B766C2"},"documentationLayout":"classic-double-column","customisation":null,"version":"8.10.0","publishDate":"2022-04-13T04:22:59.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/0e9c230b9c633688d7622c4a4b8e49f9b0be191679bceb599dbd936b21c63e55","favicon":"https://res.cloudinary.com/postman/image/upload/v1647216860/team/ylzactqdgnmtkgk37zjq.ico"},"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/UVz1Nrz4"}