diff --git a/Postman Collections/Postman_Echo.json b/Postman Collections/Postman_Echo.json new file mode 100644 index 0000000..5c13853 --- /dev/null +++ b/Postman Collections/Postman_Echo.json @@ -0,0 +1,3258 @@ +{ + "variables": [], + "info": { + "name": "Postman Echo", + "_postman_id": "f695cab7-6878-eb55-7943-ad88e1ccfd65", + "description": "Postman Echo is service you can use to test your REST clients and make sample API calls. It provides endpoints for `GET`, `POST`, `PUT`, various auth mechanisms and other utility endpoints.\n\nThe documentation for the endpoints as well as example responses can be found at [https://postman-echo.com](https://postman-echo.com/?source=echo-collection-app-onboarding)", + "schema": "https://schema.getpostman.com/json/collection/v2.0.0/collection.json" + }, + "item": [ + { + "_postman_id": "09ddd67c-13fe-4626-8dd4-fc64f1fc27b7", + "name": "Auth: Digest", + "description": "Digest authentication protects an endpoint with a username and password without actually transmitting the password over network.\nOne has to apply a hash function (like MD5, etc) to the username and password before sending them over the network.\n\n> Username: `postman`\n>\n> Password: `password`\n\nUnlike Basic-Auth, authentication happens using two consecutive requests where the first request returns `401 Unauthorised` along with `WWW-Authenticate` header containing information that needs to be used to authenticate subsequent calls.\n\nTo know more about digest authentication, refer to the [Digest Access Authentication](https://en.wikipedia.org/wiki/Digest_access_authentication) wikipedia article.\nThe article on [authentication helpers](https://www.getpostman.com/docs/helpers#digest-auth) elaborates how to use the same within the Postman app.", + "item": [ + { + "_postman_id": "70ed7920-ead1-2d20-645a-c716ab0fd137", + "name": "DigestAuth Request", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "tests[\"response code is 401\"] = responseCode.code === 401;", + "tests[\"response has WWW-Authenticate header\"] = (postman.getResponseHeader('WWW-Authenticate'));", + "", + "var authenticateHeader = postman.getResponseHeader('WWW-Authenticate'),", + " realmStart = authenticateHeader.indexOf('\"',authenticateHeader.indexOf(\"realm\")) + 1 ,", + " realmEnd = authenticateHeader.indexOf('\"',realmStart),", + " realm = authenticateHeader.slice(realmStart,realmEnd),", + " nonceStart = authenticateHeader.indexOf('\"',authenticateHeader.indexOf(\"nonce\")) + 1,", + " nonceEnd = authenticateHeader.indexOf('\"',nonceStart),", + " nonce = authenticateHeader.slice(nonceStart,nonceEnd);", + " ", + "postman.setGlobalVariable('echo_digest_realm', realm);", + "postman.setGlobalVariable('echo_digest_nonce', nonce);" + ] + } + } + ], + "request": { + "url": "https://postman-echo.com/digest-auth", + "method": "GET", + "header": [], + "body": { + "mode": "formdata", + "formdata": [ + { + "key": "code", + "value": "xWnkliVQJURqB2x1", + "type": "text" + }, + { + "key": "grant_type", + "value": "authorization_code", + "type": "text" + }, + { + "key": "redirect_uri", + "value": "https://www.getpostman.com/oauth2/callback", + "type": "text" + }, + { + "key": "client_id", + "value": "abc123", + "type": "text" + }, + { + "key": "client_secret", + "value": "ssh-secret", + "type": "text" + } + ] + }, + "description": "Performing a simple `GET` request to this endpoint returns status code `401 Unauthorized` with `WWW-Authenticate` header containing information to successfully authenticate subsequent requests.\nThe `WWW-Authenticate` header must be processed to extract `realm` and `nonce` values to hash subsequent requests.\n\nWhen this request is executed within Postman, the script attached with this request does the hard work of extracting realm and nonce from the header and set it as [global variables](https://www.getpostman.com/docs/environments#global-variables?source=echo-collection-app-onboarding) named `echo_digest_nonce` and `echo_digest_realm`.\nThese variables are re-used in subsequent request for seamless integration of the two requests." + }, + "response": [] + }, + { + "_postman_id": "a4c04e32-72cf-0475-07dc-89c23f85cf0c", + "name": "DigestAuth Success", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "tests[\"response code is 200\"] = responseCode.code === 200;", + "tests[\"body contains authenticated\"] = responseBody.has(\"authenticated\");" + ] + } + } + ], + "request": { + "auth": { + "type": "digest", + "digest": { + "algorithm": "MD5", + "username": "postman", + "realm": "{{echo_digest_realm}}", + "password": "password", + "nonce": "{{echo_digest_nonce}}", + "nonceCount": "", + "clientNonce": "", + "opaque": "", + "qop": "" + } + }, + "url": "https://postman-echo.com/digest-auth", + "method": "GET", + "header": [ + { + "key": "Authorization", + "value": "Digest username=\"postman\", realm=\"Users\", nonce=\"ni1LiL0O37PRRhofWdCLmwFsnEtH1lew\", uri=\"/digest-auth\", response=\"254679099562cf07df9b6f5d8d15db44\", opaque=\"\"", + "description": "" + } + ], + "body": {}, + "description": "This endpoint sends a hashed Digest Authorization header to gain access to a valid `200 Ok` response code. In Postman, it uses the stored [global variables](https://www.getpostman.com/docs/environments#gloval-variables?source=echo-collection-app-onboarding), `echo_digest_realm` and `echo_digest_nonce`, to generate the hashed authorisation header.\n\nWithin Postman, for this request to successfully authenticate, running the previous request \"DigestAuth Request\" stores the relevant information within the global variables." + }, + "response": [ + { + "id": "50a1e424-f5a6-3017-3777-6c5d0d381be0", + "name": "200", + "originalRequest": { + "header": [], + "body": { + "mode": "raw", + "raw": "" + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "javascript", + "_postman_previewtype": "html", + "header": [ + { + "name": "Access-Control-Allow-Credentials", + "key": "Access-Control-Allow-Credentials", + "value": "", + "description": "" + }, + { + "name": "Access-Control-Allow-Headers", + "key": "Access-Control-Allow-Headers", + "value": "", + "description": "" + }, + { + "name": "Access-Control-Allow-Methods", + "key": "Access-Control-Allow-Methods", + "value": "", + "description": "" + }, + { + "name": "Access-Control-Allow-Origin", + "key": "Access-Control-Allow-Origin", + "value": "", + "description": "" + }, + { + "name": "Connection", + "key": "Connection", + "value": "keep-alive", + "description": "" + }, + { + "name": "Content-Encoding", + "key": "Content-Encoding", + "value": "gzip", + "description": "" + }, + { + "name": "Content-Length", + "key": "Content-Length", + "value": "42", + "description": "" + }, + { + "name": "Content-Type", + "key": "Content-Type", + "value": "application/json; charset=utf-8", + "description": "" + }, + { + "name": "Date", + "key": "Date", + "value": "Thu, 29 Oct 2015 06:17:51 GMT", + "description": "" + }, + { + "name": "Server", + "key": "Server", + "value": "nginx/1.6.2", + "description": "" + }, + { + "name": "Vary", + "key": "Vary", + "value": "Accept-Encoding", + "description": "" + }, + { + "name": "X-Powered-By", + "key": "X-Powered-By", + "value": "Sails ", + "description": "" + } + ], + "cookie": [], + "responseTime": "9843", + "body": "{\"authenticated\":true}" + } + ] + } + ] + }, + { + "_postman_id": "df815c41-a76b-4b5b-7129-ea59275f254b", + "name": "Auth: Others", + "description": "", + "item": [ + { + "_postman_id": "42c867ca-e72b-3307-169b-26a478b00641", + "name": "Basic Auth", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "tests[\"response code is 200\"] = responseCode.code === 200;", + "tests[\"Body contains authenticated\"] = responseBody.has(\"authenticated\");" + ] + } + } + ], + "request": { + "auth": { + "type": "basic", + "basic": { + "username": "postman", + "password": "password", + "saveHelperData": true, + "showPassword": false + } + }, + "url": "https://postman-echo.com/basic-auth", + "method": "GET", + "header": [ + { + "key": "Authorization", + "value": "Basic cG9zdG1hbjpwYXNzd29yZA==", + "description": "" + } + ], + "body": {}, + "description": "This endpoint simulates a **basic-auth** protected endpoint. \nThe endpoint accepts a default username and password and returns a status code of `200 ok` only if the same is provided. \nOtherwise it will return a status code `401 unauthorized`.\n\n> Username: `postman`\n> \n> Password: `password`\n\nTo use this endpoint, send a request with the header `Authorization: Basic cG9zdG1hbjpwYXNzd29yZA==`. \nThe cryptic latter half of the header value is a base64 encoded concatenation of the default username and password. \nUsing Postman, to send this request, you can simply fill in the username and password in the \"Authorization\" tab and Postman will do the rest for you.\n\nTo know more about basic authentication, refer to the [Basic Access Authentication](https://en.wikipedia.org/wiki/Basic_access_authentication) wikipedia article.\nThe article on [authentication helpers](https://www.getpostman.com/docs/helpers#basic-auth?source=echo-collection-app-onboarding) elaborates how to use the same within the Postman app." + }, + "response": [ + { + "id": "97223e54-e9ac-810d-41df-6b53e1c917e4", + "name": "200", + "originalRequest": { + "header": [], + "body": { + "mode": "raw", + "raw": "" + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "javascript", + "_postman_previewtype": "html", + "header": [ + { + "name": "Access-Control-Allow-Credentials", + "key": "Access-Control-Allow-Credentials", + "value": "", + "description": "" + }, + { + "name": "Access-Control-Allow-Headers", + "key": "Access-Control-Allow-Headers", + "value": "", + "description": "" + }, + { + "name": "Access-Control-Allow-Methods", + "key": "Access-Control-Allow-Methods", + "value": "", + "description": "" + }, + { + "name": "Access-Control-Allow-Origin", + "key": "Access-Control-Allow-Origin", + "value": "", + "description": "" + }, + { + "name": "Connection", + "key": "Connection", + "value": "keep-alive", + "description": "" + }, + { + "name": "Content-Encoding", + "key": "Content-Encoding", + "value": "gzip", + "description": "" + }, + { + "name": "Content-Length", + "key": "Content-Length", + "value": "42", + "description": "" + }, + { + "name": "Content-Type", + "key": "Content-Type", + "value": "application/json; charset=utf-8", + "description": "" + }, + { + "name": "Date", + "key": "Date", + "value": "Sat, 31 Oct 2015 06:38:25 GMT", + "description": "" + }, + { + "name": "Server", + "key": "Server", + "value": "nginx/1.6.2", + "description": "" + }, + { + "name": "Vary", + "key": "Vary", + "value": "Accept-Encoding", + "description": "" + }, + { + "name": "X-Powered-By", + "key": "X-Powered-By", + "value": "Sails ", + "description": "" + } + ], + "cookie": [], + "responseTime": "377", + "body": "{\"authenticated\":true}" + } + ] + }, + { + "_postman_id": "2f79ab5b-9029-56c2-7b05-52047790d670", + "name": "OAuth1.0 Verify Signature", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "tests[\"response code is 200\"] = responseCode.code === 200;", + "var body = JSON.parse(responseBody);", + "tests[\"Body contains status pass\"] = body[\"status\"] == \"pass\"" + ] + } + } + ], + "request": { + "auth": { + "type": "oauth1", + "oauth1": { + "consumerKey": "RKCGzna7bv9YD57c", + "consumerSecret": "D+EdQ-gs$-%@2Nu7", + "token": "", + "tokenSecret": "", + "signatureMethod": "HMAC-SHA1", + "timestamp": 1472121255, + "nonce": "e5VR16", + "version": "1.0", + "realm": "", + "addParamsToHeader": true, + "addEmptyParamsToSign": false + } + }, + "url": "https://postman-echo.com/oauth1", + "method": "GET", + "header": [], + "body": { + "mode": "formdata", + "formdata": [ + { + "key": "code", + "value": "xWnkliVQJURqB2x1", + "type": "text" + }, + { + "key": "grant_type", + "value": "authorization_code", + "type": "text" + }, + { + "key": "redirect_uri", + "value": "https://www.getpostman.com/oauth2/callback", + "type": "text" + }, + { + "key": "client_id", + "value": "abc123", + "type": "text" + }, + { + "key": "client_secret", + "value": "ssh-secret", + "type": "text" + } + ] + }, + "description": "OAuth1.0a is a specification that defines a protocol that can be used by one\nservice to access \"protected\" resources (endpoints) on another service. A\nmajor part of OAuth1.0 is HTTP Request Signing. This endpoint allows you to \ncheck whether the request calculation works properly in the client. \n\nThe endpoint supports the HTTP ``Authorization`` header. In case the signature\nverification fails, the endpoint provides the four debug values,\n\n* ``base_uri``\n* ``normalized_param_string``\n* ``base_string``\n* ``signing_key``\n\nFor more details about these parameters, check the [OAuth1.0a Specification](http://oauth.net/core/1.0a/)\n\nIn order to use this endpoint, you can set the following values:\n\n> Consumer Key: ``RKCGzna7bv9YD57c``\n>\n> Consumer Secret: ``D+EdQ-gs$-%@2Nu7``\n\nIf you are using Postman, also check the \"Add params to header\" and \n\"Auto add parameters\" boxes." + }, + "response": [ + { + "id": "d234f0e3-683c-1705-d4b1-c94f6c27fa52", + "name": "200", + "originalRequest": { + "url": "https://echo.getpostman.com/oauth1", + "method": "GET", + "header": [ + { + "key": "Authorization", + "name": "Authorization", + "value": "OAuth oauth_consumer_key=\"RKCGzna7bv9YD57c\",oauth_signature_method=\"HMAC-SHA1\",oauth_timestamp=\"1472121261\",oauth_nonce=\"ki0RQW\",oauth_version=\"1.0\",oauth_signature=\"s0rK92Myxx7ceUBVzlMaxiiXU00%3D\"" + } + ], + "body": { + "mode": "formdata", + "formdata": [ + { + "key": "code", + "value": "xWnkliVQJURqB2x1", + "type": "text" + }, + { + "key": "grant_type", + "value": "authorization_code", + "type": "text" + }, + { + "key": "redirect_uri", + "value": "https://www.getpostman.com/oauth2/callback", + "type": "text" + }, + { + "key": "client_id", + "value": "abc123", + "type": "text" + }, + { + "key": "client_secret", + "value": "ssh-secret", + "type": "text" + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "javascript", + "_postman_previewtype": "html", + "header": [ + { + "name": "Access-Control-Allow-Credentials", + "key": "Access-Control-Allow-Credentials", + "value": "", + "description": "" + }, + { + "name": "Access-Control-Allow-Headers", + "key": "Access-Control-Allow-Headers", + "value": "", + "description": "" + }, + { + "name": "Access-Control-Allow-Methods", + "key": "Access-Control-Allow-Methods", + "value": "", + "description": "" + }, + { + "name": "Access-Control-Allow-Origin", + "key": "Access-Control-Allow-Origin", + "value": "", + "description": "" + }, + { + "name": "Access-Control-Expose-Headers", + "key": "Access-Control-Expose-Headers", + "value": "", + "description": "" + }, + { + "name": "Connection", + "key": "Connection", + "value": "keep-alive", + "description": "" + }, + { + "name": "Content-Encoding", + "key": "Content-Encoding", + "value": "gzip", + "description": "" + }, + { + "name": "Content-Length", + "key": "Content-Length", + "value": "95", + "description": "" + }, + { + "name": "Content-Type", + "key": "Content-Type", + "value": "application/json; charset=utf-8", + "description": "" + }, + { + "name": "Date", + "key": "Date", + "value": "Thu, 25 Aug 2016 10:34:23 GMT", + "description": "" + }, + { + "name": "ETag", + "key": "ETag", + "value": "W/\"4e-Cq3UhvpVSyl6R6204lPVIA\"", + "description": "" + }, + { + "name": "Server", + "key": "Server", + "value": "nginx/1.8.1", + "description": "" + }, + { + "name": "Vary", + "key": "Vary", + "value": "Accept-Encoding", + "description": "" + } + ], + "cookie": [], + "responseTime": "2057", + "body": "{\"status\":\"pass\",\"message\":\"OAuth-1.0a signature verification was successful\"}" + }, + { + "id": "d536f1d6-ad89-2a2d-94b3-8aa11f28f197", + "name": "401", + "originalRequest": { + "url": "https://echo.getpostman.com/oauth1", + "method": "GET", + "header": [ + { + "key": "Authorization", + "type": "text", + "name": "Authorization", + "value": "OAuth oauth_consumer_key=\"RKCGzna7bv9YD57c_wrong\",oauth_signature_method=\"HMAC-SHA1\",oauth_timestamp=\"1472121295\",oauth_nonce=\"8LTsU2\",oauth_version=\"1.0\",oauth_signature=\"tSUexpY%2B7EhSY7cFXiFN5EMx2zw%3D\"" + } + ], + "body": { + "mode": "formdata", + "formdata": [ + { + "key": "code", + "value": "xWnkliVQJURqB2x1", + "type": "text" + }, + { + "key": "grant_type", + "value": "authorization_code", + "type": "text" + }, + { + "key": "redirect_uri", + "value": "https://www.getpostman.com/oauth2/callback", + "type": "text" + }, + { + "key": "client_id", + "value": "abc123", + "type": "text" + }, + { + "key": "client_secret", + "value": "ssh-secret", + "type": "text" + } + ] + } + }, + "status": "Unauthorized", + "code": 401, + "_postman_previewlanguage": "javascript", + "_postman_previewtype": "html", + "header": [ + { + "name": "Access-Control-Allow-Credentials", + "key": "Access-Control-Allow-Credentials", + "value": "", + "description": "" + }, + { + "name": "Access-Control-Allow-Headers", + "key": "Access-Control-Allow-Headers", + "value": "", + "description": "" + }, + { + "name": "Access-Control-Allow-Methods", + "key": "Access-Control-Allow-Methods", + "value": "", + "description": "" + }, + { + "name": "Access-Control-Allow-Origin", + "key": "Access-Control-Allow-Origin", + "value": "", + "description": "" + }, + { + "name": "Access-Control-Expose-Headers", + "key": "Access-Control-Expose-Headers", + "value": "", + "description": "" + }, + { + "name": "Connection", + "key": "Connection", + "value": "keep-alive", + "description": "" + }, + { + "name": "Content-Length", + "key": "Content-Length", + "value": "536", + "description": "" + }, + { + "name": "Content-Type", + "key": "Content-Type", + "value": "application/json; charset=utf-8", + "description": "" + }, + { + "name": "Date", + "key": "Date", + "value": "Thu, 25 Aug 2016 10:34:55 GMT", + "description": "" + }, + { + "name": "ETag", + "key": "ETag", + "value": "W/\"218-SGnurnTsu5qV5cCYWxsJlg\"", + "description": "" + }, + { + "name": "Server", + "key": "Server", + "value": "nginx/1.8.1", + "description": "" + }, + { + "name": "Vary", + "key": "Vary", + "value": "Accept-Encoding", + "description": "" + } + ], + "cookie": [], + "responseTime": "322", + "body": "{\"status\":\"fail\",\"message\":\"HMAC-SHA1 verification failed\",\"base_uri\":\"https://echo.getpostman.com/oauth1\",\"normalized_param_string\":\"oauth_consumer_key=RKCGzna7bv9YD57c_wrong&oauth_nonce=8LTsU2&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1472121295&oauth_version=1.0\",\"base_string\":\"GET&https%3A%2F%2Fecho.getpostman.com%2Foauth1&oauth_consumer_key%3DRKCGzna7bv9YD57c_wrong%26oauth_nonce%3D8LTsU2%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1472121295%26oauth_version%3D1.0\",\"signing_key\":\"D%2BEdQ-gs%24-%25%402Nu7&\"}" + } + ] + }, + { + "_postman_id": "843acf02-a33c-c4bb-d742-c07b9212e4b0", + "name": "Hawk Auth", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "tests[\"Status code is 200\"] = responseCode.code === 200;" + ] + } + } + ], + "request": { + "auth": { + "type": "hawk", + "hawk": { + "authId": "dh37fgj492je", + "authKey": "werxhqb98rpaxn39848xrunpaw3489ruxnpa98w4rxn", + "algorithm": "sha256", + "user": "", + "saveHelperData": true, + "nonce": "RZKGNz", + "timestamp": "" + } + }, + "url": "https://postman-echo.com/auth/hawk", + "method": "GET", + "header": [], + "body": { + "mode": "formdata", + "formdata": [ + { + "key": "access_token", + "value": "xyz1", + "type": "text" + }, + { + "key": "id", + "value": "U1", + "type": "text" + }, + { + "key": "server_secret", + "value": "zeppelin", + "type": "text" + }, + { + "key": "admin", + "value": "true", + "type": "text" + } + ] + }, + "description": "This endpoint is a Hawk Authentication protected endpoint. [Hawk authentication](https://github.com/hueniverse/hawk) is a widely used protocol for protecting API endpoints. One of Hawk's main goals is to enable HTTP authentication for services that do not use TLS (although it can be used in conjunction with TLS as well).\n\nIn order to use this endpoint, select the \"Hawk Auth\" helper inside Postman, and set the following values:\n\nHawk Auth ID: `dh37fgj492je`\n\nHawk Auth Key: `werxhqb98rpaxn39848xrunpaw3489ruxnpa98w4rxn`\n\nAlgorithm: `sha256`\n\nThe rest of the values are optional, and can be left blank. Hitting send should give you a response with a status code of 200 OK." + }, + "response": [ + { + "id": "8bcfebdc-a6fe-7607-cef3-7ee28a0b75a2", + "name": "Success", + "originalRequest": { + "url": "https://echo.getpostman.com/auth/hawk", + "method": "GET", + "header": [ + { + "key": "Authorization", + "type": "text", + "name": "Authorization", + "value": "Hawk id=\"dh37fgj492je\", ts=\"1459422734\", nonce=\"XiwiCU\", mac=\"KzMHk67BYCC9zZqRy5hRdWFEFLHX5bNlRWGdmOAWKp0=\"" + } + ], + "body": { + "mode": "formdata", + "formdata": [ + { + "key": "access_token", + "value": "xyz1", + "type": "text" + }, + { + "key": "id", + "value": "U1", + "type": "text" + }, + { + "key": "server_secret", + "value": "zeppelin", + "type": "text" + }, + { + "key": "admin", + "value": "true", + "type": "text" + } + ] + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "javascript", + "_postman_previewtype": "html", + "header": [ + { + "name": "Access-Control-Allow-Credentials", + "key": "Access-Control-Allow-Credentials", + "value": "", + "description": "" + }, + { + "name": "Access-Control-Allow-Headers", + "key": "Access-Control-Allow-Headers", + "value": "", + "description": "" + }, + { + "name": "Access-Control-Allow-Methods", + "key": "Access-Control-Allow-Methods", + "value": "", + "description": "" + }, + { + "name": "Access-Control-Allow-Origin", + "key": "Access-Control-Allow-Origin", + "value": "", + "description": "" + }, + { + "name": "Connection", + "key": "Connection", + "value": "keep-alive", + "description": "" + }, + { + "name": "Content-Encoding", + "key": "Content-Encoding", + "value": "gzip", + "description": "" + }, + { + "name": "Content-Type", + "key": "Content-Type", + "value": "application/json", + "description": "" + }, + { + "name": "Date", + "key": "Date", + "value": "Thu, 31 Mar 2016 11:12:16 GMT", + "description": "" + }, + { + "name": "Server", + "key": "Server", + "value": "nginx/1.6.2", + "description": "" + }, + { + "name": "Server-Authorization", + "key": "Server-Authorization", + "value": "Hawk mac=\"vRrUzDdcHu2NaNts/r4zg2xmXMdX8wPiTGTM398BDRg=\", hash=\"qmtflETMybaZiOQ2dLT17yiRunFT5OCIxZRZ0boQaiE=\"", + "description": "" + }, + { + "name": "Vary", + "key": "Vary", + "value": "Accept-Encoding", + "description": "" + }, + { + "name": "X-Powered-By", + "key": "X-Powered-By", + "value": "Sails ", + "description": "" + }, + { + "name": "transfer-encoding", + "key": "transfer-encoding", + "value": "chunked", + "description": "" + } + ], + "cookie": [ + { + "expires": "Fri Apr 15 2016 10:54:28 GMT+0000 (UTC)", + "hostOnly": false, + "httpOnly": false, + "domain": ".getpostman.com", + "path": "/", + "secure": false, + "session": false, + "value": "yes", + "key": "getpostmanlogin" + }, + { + "expires": "Fri Apr 15 2016 10:54:28 GMT+0000 (UTC)", + "hostOnly": false, + "httpOnly": false, + "domain": ".getpostman.com", + "path": "/", + "secure": false, + "session": false, + "value": "9f887f3b7f14b8c29ac4dc4109381b0b89a76e785c7b34251d6c8025b41b24013d2aa49f40e2deac19cbf0594dd984169455534d91ff98d4d1868d67ac857017629f137926e3a04a616bb83a2fb5ab9e6cbea9579ed5d5c1155d47545d72aad5be99f4abd0a7130805b3807d70cd507171dbe9d950d8e35a853f9ec075f5a767c95df4d57f7d521b66605b3bda3801700e26e651d1129c798b729ee3b91702d43ae64ab226c3f426893753def772c15442a7552dc84a3c773d6099a50b0a6af940b64c8176fedfcecd5fc31ccfc3bbc0124bfdaa0d62e4252d4aafb46a3c10963d12391e1fa97a1c0f19a636f57a3ac8cc35567d1cb6cb53b77f8adde3f6754a765596d7d00bdeb9acb5cc8d115e7c3f50ec3228e34d3e6c7464e9039b01868e03d10e9f87772397602453e9e91205de7b86021fad06eb26e69298e99ff1597a670faeb310f8c092041d544851de84f2bee89a92123da6eea286210524035c85361e2af42166a6", + "key": "postman.sid" + }, + { + "expires": "Invalid Date", + "hostOnly": true, + "httpOnly": true, + "domain": "echo.getpostman.com", + "path": "/", + "secure": false, + "session": true, + "value": "s%3AryJV7v-PE4PuTjBK6nH5XOynQ4atuATV.n17KcaLhVmV8TBHNLwdwXgGR7lmqs3i478WPlTbRgZ4", + "key": "sails.sid" + } + ], + "responseTime": "1855", + "body": "{\"status\":\"pass\",\"message\":\"Hawk Authentication successful\"}" + } + ] + } + ] + }, + { + "_postman_id": "37368024-f6a8-0f70-85fc-7e876cde9e33", + "name": "Cookies", + "description": "The cookie related endpoints allow one to get, set and delete simple cookies.\n\nCookies are small snippets of information that is stored in the browser and sent back to the server with every subsequent requests in order to store useful information between requests.\nIf you want to know more about cookies, read the [HTTP Cookie](https://en.wikipedia.org/wiki/HTTP_cookie) article on wikipedia.", + "item": [ + { + "_postman_id": "3de3b135-b3cc-3a68-ba27-b6d373e03c8c", + "name": "Set Cookies", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "// handle case where it is 304", + "", + "if (responseCode.code === 200) {", + " tests[\"Status code is 302 or 200\"] = true;", + " tests[\"Body contains cookies\"] = responseBody.has(\"cookies\");", + " ", + " var body = JSON.parse(responseBody);", + " tests[\"Body contains cookie foo1\"] = 'foo1' in body.cookies;", + " tests[\"Body contains cookie foo2\"] = 'foo2' in body.cookies;", + "", + "}", + "else if (responseCode.code === 302) {", + " tests[\"Status code is 302 or 200\"] = true;", + " tests[\"Body has redirection message\"] = responseBody.has(\"Found. Redirecting to /cookies\")", + "}", + "else {", + " tests[\"Status code is 302 or 200\"] = false;", + "}", + "", + "tests[\"foo1 cookie is set\"] = _.get(postman.getResponseCookie('foo1'), 'value') === 'bar1';", + "", + "tests[\"foo2 cookie is set\"] = _.get(postman.getResponseCookie('foo2'), 'value') === 'bar2';" + ] + } + } + ], + "request": { + "url": "https://postman-echo.com/cookies/set?foo1=bar1&foo2=bar2", + "method": "GET", + "header": [], + "body": {}, + "description": "The cookie setter endpoint accepts a list of cookies and their values as part of URL parameters of a `GET` request. These cookies are saved and can be subsequently retrieved or deleted. The response of this request returns a JSON with all cookies listed.\n\nTo set your own set of cookies, simply replace the URL parameters \"foo1=bar1&foo2=bar2\" with your own set of key-value pairs." + }, + "response": [ + { + "id": "6c09f286-f74c-4d60-c349-f4a7ff7bac28", + "name": "Cookies", + "originalRequest": { + "header": [], + "body": { + "mode": "raw", + "raw": "" + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "javascript", + "_postman_previewtype": "html", + "header": [ + { + "name": "Access-Control-Allow-Credentials", + "key": "Access-Control-Allow-Credentials", + "value": "", + "description": "" + }, + { + "name": "Access-Control-Allow-Headers", + "key": "Access-Control-Allow-Headers", + "value": "", + "description": "" + }, + { + "name": "Access-Control-Allow-Methods", + "key": "Access-Control-Allow-Methods", + "value": "", + "description": "" + }, + { + "name": "Access-Control-Allow-Origin", + "key": "Access-Control-Allow-Origin", + "value": "", + "description": "" + }, + { + "name": "Connection", + "key": "Connection", + "value": "keep-alive", + "description": "" + }, + { + "name": "Content-Encoding", + "key": "Content-Encoding", + "value": "gzip", + "description": "" + }, + { + "name": "Content-Length", + "key": "Content-Length", + "value": "51", + "description": "" + }, + { + "name": "Content-Type", + "key": "Content-Type", + "value": "application/json; charset=utf-8", + "description": "" + }, + { + "name": "Date", + "key": "Date", + "value": "Thu, 29 Oct 2015 06:15:28 GMT", + "description": "" + }, + { + "name": "Server", + "key": "Server", + "value": "nginx/1.6.2", + "description": "" + }, + { + "name": "Vary", + "key": "Vary", + "value": "Accept-Encoding", + "description": "" + }, + { + "name": "X-Powered-By", + "key": "X-Powered-By", + "value": "Sails ", + "description": "" + } + ], + "cookie": [], + "responseTime": "3063", + "body": "{\"cookies\":{\"foo1\":\"bar\",\"foo2\":\"bar\"}}" + } + ] + }, + { + "_postman_id": "8dc08eee-a543-7c1c-297f-b0b7040c35c6", + "name": "Get Cookies", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "var responseJSON;", + "try {", + " tests[\"Body contains cookies\"] = responseBody.has(\"cookies\");", + " responseJSON = JSON.parse(responseBody);", + " tests[\"Cookies object is empty\"] = (Object.keys(responseJSON.cookies).length > 0)", + "}", + "catch (e) { }", + "", + "tests[\"Status code is 200\"] = responseCode.code === 200;", + "" + ] + } + } + ], + "request": { + "url": "https://postman-echo.com/cookies", + "method": "GET", + "header": [], + "body": {}, + "description": "Use this endpoint to get a list of all cookies that are stored with respect to this domain. Whatever key-value pairs that has been previously set by calling the \"Set Cookies\" endpoint, will be returned as response JSON." + }, + "response": [ + { + "id": "403109d9-a2e7-2bf7-9af3-1282aa7d74cd", + "name": "Cookies", + "originalRequest": { + "header": [], + "body": { + "mode": "raw", + "raw": "" + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "javascript", + "_postman_previewtype": "html", + "header": [ + { + "name": "Access-Control-Allow-Credentials", + "key": "Access-Control-Allow-Credentials", + "value": "", + "description": "" + }, + { + "name": "Access-Control-Allow-Headers", + "key": "Access-Control-Allow-Headers", + "value": "", + "description": "" + }, + { + "name": "Access-Control-Allow-Methods", + "key": "Access-Control-Allow-Methods", + "value": "", + "description": "" + }, + { + "name": "Access-Control-Allow-Origin", + "key": "Access-Control-Allow-Origin", + "value": "", + "description": "" + }, + { + "name": "Connection", + "key": "Connection", + "value": "keep-alive", + "description": "" + }, + { + "name": "Content-Encoding", + "key": "Content-Encoding", + "value": "gzip", + "description": "" + }, + { + "name": "Content-Length", + "key": "Content-Length", + "value": "46", + "description": "" + }, + { + "name": "Content-Type", + "key": "Content-Type", + "value": "application/json; charset=utf-8", + "description": "" + }, + { + "name": "Date", + "key": "Date", + "value": "Thu, 29 Oct 2015 06:16:29 GMT", + "description": "" + }, + { + "name": "Server", + "key": "Server", + "value": "nginx/1.6.2", + "description": "" + }, + { + "name": "Vary", + "key": "Vary", + "value": "Accept-Encoding", + "description": "" + }, + { + "name": "X-Powered-By", + "key": "X-Powered-By", + "value": "Sails ", + "description": "" + } + ], + "cookie": [], + "responseTime": "462", + "body": "{\"cookies\":{\"foo2\":\"bar\"}}" + } + ] + }, + { + "_postman_id": "a4f24593-448b-88de-963f-eeb952d38a57", + "name": "Delete Cookies", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "// handle case where it is 304", + "", + "if (responseCode.code === 200) {", + " tests[\"Status code is 302 or 200\"] = true;", + " tests[\"Body contains cookies\"] = responseBody.has(\"cookies\");", + " ", + " var body = JSON.parse(responseBody);", + " tests[\"Body contains cookie foo1\"] = 'foo1' in body.cookies;", + " tests[\"Body contains cookie foo2\"] = 'foo2' in body.cookies;", + "", + "}", + "else if (responseCode.code === 302) {", + " tests[\"Status code is 302 or 200\"] = true;", + " tests[\"Body has redirection message\"] = responseBody.has(\"Found. Redirecting to /cookies\")", + "}", + "else {", + " tests[\"Status code is 302 or 200\"] = false;", + "}", + "", + "tests[\"foo1 cookie is set\"] = _.get(postman.getResponseCookie('foo1'), 'value') === undefined;", + "", + "tests[\"foo2 cookie is set\"] = _.get(postman.getResponseCookie('foo2'), 'value') === undefined;" + ] + } + } + ], + "request": { + "url": "https://postman-echo.com/cookies/delete?foo1&foo2", + "method": "GET", + "header": [], + "body": {}, + "description": "One or more cookies that has been set for this domain can be deleted by providing the cookie names as part of the URL parameter. The response of this request is a JSON containing the list of currently set cookies." + }, + "response": [ + { + "id": "522b3689-fb79-32fe-a253-7fb170b65555", + "name": "Cookies Response", + "originalRequest": { + "header": [], + "body": { + "mode": "raw", + "raw": "" + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "javascript", + "_postman_previewtype": "html", + "header": [ + { + "name": "Access-Control-Allow-Credentials", + "key": "Access-Control-Allow-Credentials", + "value": "", + "description": "" + }, + { + "name": "Access-Control-Allow-Headers", + "key": "Access-Control-Allow-Headers", + "value": "", + "description": "" + }, + { + "name": "Access-Control-Allow-Methods", + "key": "Access-Control-Allow-Methods", + "value": "", + "description": "" + }, + { + "name": "Access-Control-Allow-Origin", + "key": "Access-Control-Allow-Origin", + "value": "", + "description": "" + }, + { + "name": "Connection", + "key": "Connection", + "value": "keep-alive", + "description": "" + }, + { + "name": "Content-Encoding", + "key": "Content-Encoding", + "value": "gzip", + "description": "" + }, + { + "name": "Content-Length", + "key": "Content-Length", + "value": "46", + "description": "" + }, + { + "name": "Content-Type", + "key": "Content-Type", + "value": "application/json; charset=utf-8", + "description": "" + }, + { + "name": "Date", + "key": "Date", + "value": "Thu, 29 Oct 2015 06:16:00 GMT", + "description": "" + }, + { + "name": "Server", + "key": "Server", + "value": "nginx/1.6.2", + "description": "" + }, + { + "name": "Vary", + "key": "Vary", + "value": "Accept-Encoding", + "description": "" + }, + { + "name": "X-Powered-By", + "key": "X-Powered-By", + "value": "Sails ", + "description": "" + } + ], + "cookie": [], + "responseTime": "1417", + "body": "{\"cookies\":{\"foo2\":\"bar\"}}" + } + ] + } + ] + }, + { + "_postman_id": "5d3595b3-5e8e-9e33-05ed-855c77298e4e", + "name": "Headers", + "description": "The following set of endpoints allow one to see the headers being sent as part of a request and to get a custom set of headers as part of response.\n\nHTTP header fields provide required information about the request or response, or about the object sent in the message body. Both request headers and response headers can be controlled using these endpoints.", + "item": [ + { + "_postman_id": "da16c006-6293-c1fe-ea42-e9ba8a5e68b1", + "name": "Request Headers", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "var responseJSON;", + "try {", + " tests[\"Body contains headers\"] = responseBody.has(\"headers\");", + " responseJSON = JSON.parse(responseBody);", + " tests[\"Header contains host\"] = \"host\" in responseJSON.headers;", + " tests[\"Header contains test parameter sent as part of request header\"] = \"my-sample-header\" in responseJSON.headers;", + "}", + "catch (e) { }", + "", + "", + "", + "" + ] + } + } + ], + "request": { + "url": "https://postman-echo.com/headers", + "method": "GET", + "header": [ + { + "key": "my-sample-header", + "value": "Lorem ipsum dolor sit amet", + "description": "" + } + ], + "body": {}, + "description": "A `GET` request to this endpoint returns the list of all request headers as part of the response JSON.\nIn Postman, sending your own set of headers through the [Headers tab](https://www.getpostman.com/docs/requests#headers?source=echo-collection-app-onboarding) will reveal the headers as part of the response." + }, + "response": [ + { + "id": "881f141f-44c5-702f-211d-475360c6ccb3", + "name": "my-sample-header", + "originalRequest": { + "url": "https://echo.getpostman.com/headers", + "method": "GET", + "header": [ + { + "key": "my-sample-header", + "value": "Lorem ipsum dolor sit amet", + "enabled": true + } + ], + "body": {} + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "javascript", + "_postman_previewtype": "html", + "header": [ + { + "name": "Access-Control-Allow-Credentials", + "key": "Access-Control-Allow-Credentials", + "value": "", + "description": "" + }, + { + "name": "Access-Control-Allow-Headers", + "key": "Access-Control-Allow-Headers", + "value": "", + "description": "" + }, + { + "name": "Access-Control-Allow-Methods", + "key": "Access-Control-Allow-Methods", + "value": "", + "description": "" + }, + { + "name": "Access-Control-Allow-Origin", + "key": "Access-Control-Allow-Origin", + "value": "", + "description": "" + }, + { + "name": "Connection", + "key": "Connection", + "value": "keep-alive", + "description": "" + }, + { + "name": "Content-Encoding", + "key": "Content-Encoding", + "value": "gzip", + "description": "" + }, + { + "name": "Content-Length", + "key": "Content-Length", + "value": "342", + "description": "" + }, + { + "name": "Content-Type", + "key": "Content-Type", + "value": "application/json; charset=utf-8", + "description": "" + }, + { + "name": "Date", + "key": "Date", + "value": "Thu, 31 Mar 2016 11:14:00 GMT", + "description": "" + }, + { + "name": "Server", + "key": "Server", + "value": "nginx/1.6.2", + "description": "" + }, + { + "name": "Vary", + "key": "Vary", + "value": "Accept-Encoding", + "description": "" + }, + { + "name": "X-Powered-By", + "key": "X-Powered-By", + "value": "Sails ", + "description": "" + } + ], + "cookie": [ + { + "expires": "Invalid Date", + "hostOnly": true, + "httpOnly": true, + "domain": "echo.getpostman.com", + "path": "/", + "secure": false, + "session": true, + "value": "s%3A9stja5zKmIILxq9Jvtha7Lp9LIz1VIdK.Vp8MHC%2BEUJe4ICZPXn2JAoXaV2bTgtoQd%2B3XJLNr51Y", + "key": "sails.sid" + } + ], + "responseTime": "460", + "body": "{\"headers\":{\"host\":\"echo.getpostman.com\",\"accept\":\"*/*\",\"accept-encoding\":\"gzip, deflate, sdch\",\"accept-language\":\"en-US,en;q=0.8\",\"cache-control\":\"no-cache\",\"my-sample-header\":\"Lorem ipsum dolor sit amet\",\"postman-token\":\"3c8ea80b-f599-fba6-e0b4-a0910440e7b6\",\"user-agent\":\"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.110 Safari/537.36\",\"x-forwarded-port\":\"443\",\"x-forwarded-proto\":\"https\"}}" + } + ] + }, + { + "_postman_id": "e50f9111-3a52-a325-47f1-fc702bea1fff", + "name": "Response Headers", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "tests[\"Body contains Content-Type\"] = responseBody.has(\"Content-Type\");", + "tests[\"response headers have key sent as part of request\"] = (postman.getResponseHeader('test') == 'response_headers')" + ] + } + } + ], + "request": { + "url": "https://postman-echo.com/response-headers?Content-Type=text/html&test=response_headers", + "method": "GET", + "header": [], + "body": {}, + "description": "This endpoint causes the server to send custom set of response headers. Providing header values as part of the URL parameters of a `GET` request to this endpoint returns the same as part of response header.\n\nTo send your own set of headers, simply add or replace the the URL parameters with your own set." + }, + "response": [ + { + "id": "85a7208f-3c37-f297-9772-81b97d28dae0", + "name": "Response headers", + "originalRequest": { + "url": "https://echo.getpostman.com/response-headers?Content-Type=text/html&test=response_headers", + "method": "GET", + "header": [], + "body": {} + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "html", + "_postman_previewtype": "html", + "header": [ + { + "name": "Access-Control-Allow-Credentials", + "key": "Access-Control-Allow-Credentials", + "value": "", + "description": "" + }, + { + "name": "Access-Control-Allow-Headers", + "key": "Access-Control-Allow-Headers", + "value": "", + "description": "" + }, + { + "name": "Access-Control-Allow-Methods", + "key": "Access-Control-Allow-Methods", + "value": "", + "description": "" + }, + { + "name": "Access-Control-Allow-Origin", + "key": "Access-Control-Allow-Origin", + "value": "", + "description": "" + }, + { + "name": "Connection", + "key": "Connection", + "value": "keep-alive", + "description": "" + }, + { + "name": "Content-Encoding", + "key": "Content-Encoding", + "value": "gzip", + "description": "" + }, + { + "name": "Content-Length", + "key": "Content-Length", + "value": "71", + "description": "" + }, + { + "name": "Content-Type", + "key": "Content-Type", + "value": "text/html; charset=utf-8", + "description": "" + }, + { + "name": "Date", + "key": "Date", + "value": "Thu, 31 Mar 2016 11:14:18 GMT", + "description": "" + }, + { + "name": "Server", + "key": "Server", + "value": "nginx/1.6.2", + "description": "" + }, + { + "name": "Vary", + "key": "Vary", + "value": "Accept-Encoding", + "description": "" + }, + { + "name": "X-Powered-By", + "key": "X-Powered-By", + "value": "Sails ", + "description": "" + }, + { + "name": "test", + "key": "test", + "value": "response_headers", + "description": "" + } + ], + "cookie": [ + { + "expires": "Invalid Date", + "hostOnly": true, + "httpOnly": true, + "domain": "echo.getpostman.com", + "path": "/", + "secure": false, + "session": true, + "value": "s%3A9stja5zKmIILxq9Jvtha7Lp9LIz1VIdK.Vp8MHC%2BEUJe4ICZPXn2JAoXaV2bTgtoQd%2B3XJLNr51Y", + "key": "sails.sid" + } + ], + "responseTime": "568", + "body": "{\"Content-Type\":\"text/html\",\"test\":\"response_headers\"}" + } + ] + } + ] + }, + { + "_postman_id": "9a4c3bce-30f7-a496-c9ec-78afecbf1545", + "name": "Request Methods", + "description": "HTTP has multiple request \"verbs\", such as `GET`, `PUT`, `POST`, `DELETE`,\n`PATCH`, `HEAD`, etc. \n\nAn HTTP Method (verb) defines how a request should be interpreted by a server. \nThe endpoints in this section demonstrate various HTTP Verbs. Postman supports \nall the HTTP Verbs, including some rarely used ones, such as `PROPFIND`, `UNLINK`, \netc.\n\nFor details about HTTP Verbs, refer to [RFC 2616](http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9)\n", + "item": [ + { + "_postman_id": "078883ea-ac9e-842e-8f41-784b59a33722", + "name": "GET Request", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "var responseJSON;", + "", + "try { ", + " responseJSON = JSON.parse(responseBody); ", + " tests['response is valid JSON'] = true;", + "}", + "catch (e) { ", + " responseJSON = {}; ", + " tests['response is valid JSON'] = false;", + "}", + "", + "tests['response json contains headers'] = _.has(responseJSON, 'headers');", + "tests['response json contains args'] = _.has(responseJSON, 'args');", + "tests['response json contains url'] = _.has(responseJSON, 'url');", + "", + "tests['args key contains argument passed as url parameter'] = ('test' in responseJSON.args);", + "tests['args passed via request url params has value \"123\"'] = (_.get(responseJSON, 'args.test') === \"123\");" + ] + } + } + ], + "request": { + "url": "https://postman-echo.com/get?test=123", + "method": "GET", + "header": [], + "body": {}, + "description": "The HTTP `GET` request method is meant to retrieve data from a server. The data\nis identified by a unique URI (Uniform Resource Identifier). \n\nA `GET` request can pass parameters to the server using \"Query String \nParameters\". For example, in the following request,\n\n> http://example.com/hi/there?hand=wave\n\nThe parameter \"hand\" has the value \"wave\".\n\nThis endpoint echoes the HTTP headers, request parameters and the complete\nURI requested." + }, + "response": [] + }, + { + "_postman_id": "1eb1cf9d-2be7-4060-f554-73cd13940174", + "name": "POST Raw Text", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "var responseJSON;", + "", + "try { ", + " responseJSON = JSON.parse(responseBody); ", + " tests['response is valid JSON'] = true;", + "}", + "catch (e) { ", + " responseJSON = {}; ", + " tests['response is valid JSON'] = false;", + "}", + "", + "", + "tests['response has post data'] = _.has(responseJSON, 'data');", + "tests['response matches the data posted'] = (responseJSON.data && responseJSON.data.length === 256);", + "", + "tests[\"content-type equals text/plain\"] = responseJSON && responseJSON.headers && (responseJSON.headers[\"content-type\"] === 'text/plain');" + ] + } + } + ], + "request": { + "url": "https://postman-echo.com/post", + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "text/plain", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "Duis posuere augue vel cursus pharetra. In luctus a ex nec pretium. Praesent neque quam, tincidunt nec leo eget, rutrum vehicula magna.\nMaecenas consequat elementum elit, id semper sem tristique et. Integer pulvinar enim quis consectetur interdum volutpat." + }, + "description": "The HTTP `POST` request method is meant to transfer data to a server \n(and elicit a response). What data is returned depends on the implementation\nof the server.\n\nA `POST` request can pass parameters to the server using \"Query String \nParameters\", as well as the Request Body. For example, in the following request,\n\n> POST /hi/there?hand=wave\n>\n> \n\nThe parameter \"hand\" has the value \"wave\". The request body can be in multiple\nformats. These formats are defined by the MIME type of the request. The MIME \nType can be set using the ``Content-Type`` HTTP header. The most commonly used \nMIME types are:\n\n* `multipart/form-data`\n* `application/x-www-form-urlencoded`\n* `application/json`\n\nThis endpoint echoes the HTTP headers, request parameters, the contents of\nthe request body and the complete URI requested." + }, + "response": [] + }, + { + "_postman_id": "083e46e7-53ea-87b1-8104-f8917ce58a17", + "name": "POST Form Data", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "var responseJSON;", + "", + "try { ", + " responseJSON = JSON.parse(responseBody); ", + " tests['response is valid JSON'] = true;", + "}", + "catch (e) { ", + " responseJSON = {}; ", + " tests['response is valid JSON'] = false;", + "}", + "", + "", + "tests['response has post data'] = _.has(responseJSON, 'form');", + "tests['response matches the data posted'] = (responseJSON.form && responseJSON.form.strange === 'boom');" + ] + } + } + ], + "request": { + "url": "https://postman-echo.com/post", + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/x-www-form-urlencoded", + "description": "" + } + ], + "body": { + "mode": "urlencoded", + "urlencoded": [ + { + "key": "strange", + "value": "boom", + "type": "text" + } + ] + }, + "description": "The HTTP `POST` request method is meant to transfer data to a server \n(and elicit a response). What data is returned depends on the implementation\nof the server.\n\nA `POST` request can pass parameters to the server using \"Query String \nParameters\", as well as the Request Body. For example, in the following request,\n\n> POST /hi/there?hand=wave\n>\n> \n\nThe parameter \"hand\" has the value \"wave\". The request body can be in multiple\nformats. These formats are defined by the MIME type of the request. The MIME \nType can be set using the ``Content-Type`` HTTP header. The most commonly used \nMIME types are:\n\n* `multipart/form-data`\n* `application/x-www-form-urlencoded`\n* `application/json`\n\nThis endpoint echoes the HTTP headers, request parameters, the contents of\nthe request body and the complete URI requested when data is sent as a form parameter." + }, + "response": [] + }, + { + "_postman_id": "12c51acc-50d2-2d9b-10d6-cc80e3a10d70", + "name": "PUT Request", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "var responseJSON;", + "", + "try { ", + " responseJSON = JSON.parse(responseBody); ", + " tests['response is valid JSON'] = true;", + "}", + "catch (e) { ", + " responseJSON = {}; ", + " tests['response is valid JSON'] = false;", + "}", + "", + "", + "tests['response has PUT data'] = _.has(responseJSON, 'data');", + "tests['response matches the data sent in request'] = (responseJSON.data && responseJSON.data.length === 256);" + ] + } + } + ], + "request": { + "url": "https://postman-echo.com/put", + "method": "PUT", + "header": [], + "body": { + "mode": "raw", + "raw": "Etiam mi lacus, cursus vitae felis et, blandit pellentesque neque. Vestibulum eget nisi a tortor commodo dignissim.\nQuisque ipsum ligula, faucibus a felis a, commodo elementum nisl. Mauris vulputate sapien et tincidunt viverra. Donec vitae velit nec metus." + }, + "description": "The HTTP `PUT` request method is similar to HTTP `POST`. It too is meant to \ntransfer data to a server (and elicit a response). What data is returned depends on the implementation\nof the server.\n\nA `PUT` request can pass parameters to the server using \"Query String \nParameters\", as well as the Request Body. For example, in the following \nraw HTTP request,\n\n> PUT /hi/there?hand=wave\n>\n> \n\n\n" + }, + "response": [] + }, + { + "_postman_id": "8c53212f-42cd-cb37-6e02-08c47a7c8bb1", + "name": "PATCH Request", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "var responseJSON;", + "", + "try { ", + " responseJSON = JSON.parse(responseBody); ", + " tests['response is valid JSON'] = true;", + "}", + "catch (e) { ", + " responseJSON = {}; ", + " tests['response is valid JSON'] = false;", + "}", + "", + "", + "tests['response has PUT data'] = _.has(responseJSON, 'data');", + "tests['response matches the data sent in request'] = (responseJSON.data && responseJSON.data.length === 256);" + ] + } + } + ], + "request": { + "url": "https://postman-echo.com/patch", + "method": "PATCH", + "header": [], + "body": { + "mode": "raw", + "raw": "Curabitur auctor, elit nec pulvinar porttitor, ex augue condimentum enim, eget suscipit urna felis quis neque.\nSuspendisse sit amet luctus massa, nec venenatis mi. Suspendisse tincidunt massa at nibh efficitur fringilla. Nam quis congue mi. Etiam volutpat." + }, + "description": "The HTTP `PATCH` method is used to update resources on a server. The exact\nuse of `PATCH` requests depends on the server in question. There are a number\nof server implementations which handle `PATCH` differently. Technically, \n`PATCH` supports both Query String parameters and a Request Body.\n\nThis endpoint accepts an HTTP `PATCH` request and provides debug information\nsuch as the HTTP headers, Query String arguments, and the Request Body." + }, + "response": [] + }, + { + "_postman_id": "1f0fad16-6bff-5130-2056-7f4af6b18912", + "name": "DELETE Request", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "var responseJSON;", + "", + "try { ", + " responseJSON = JSON.parse(responseBody); ", + " tests['response is valid JSON'] = true;", + "}", + "catch (e) { ", + " responseJSON = {}; ", + " tests['response is valid JSON'] = false;", + "}", + "", + "", + "tests['response has PUT data'] = _.has(responseJSON, 'data');", + "tests['response matches the data sent in request'] = (responseJSON.data && responseJSON.data.length === 256);" + ] + } + } + ], + "request": { + "url": "https://postman-echo.com/delete", + "method": "DELETE", + "header": [], + "body": { + "mode": "raw", + "raw": "Donec fermentum, nisi sed cursus eleifend, nulla tortor ultricies tellus, ut vehicula orci arcu ut velit. In volutpat egestas dapibus.\nMorbi condimentum vestibulum sapien. Etiam dignissim diam quis eros lobortis gravida vel lobortis est. Etiam gravida sed." + }, + "description": "The HTTP `DELETE` method is used to delete resources on a server. The exact\nuse of `DELETE` requests depends on the server implementation. In general, \n`DELETE` requests support both, Query String parameters as well as a Request \nBody.\n\nThis endpoint accepts an HTTP `DELETE` request and provides debug information\nsuch as the HTTP headers, Query String arguments, and the Request Body." + }, + "response": [] + } + ] + }, + { + "_postman_id": "930f54b4-c5cd-2363-7cf5-b9022d3c0aae", + "name": "Utilities", + "description": "", + "item": [ + { + "_postman_id": "6cfd22d8-26cc-7d3e-cf50-16d400211a76", + "name": "Response Status Code", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "var responseJSON;", + "try {", + " responseJSON = JSON.parse(responseBody); ", + " tests[\"Status equals 200\"] = responseJSON.status === 200;", + "}", + "catch (e) { }", + "tests[\"Body contains status\"] = responseBody.has(\"status\");", + "", + "" + ] + } + } + ], + "request": { + "url": "https://postman-echo.com/status/200", + "method": "GET", + "header": [], + "body": {}, + "description": "This endpoint allows one to instruct the server which status code to respond with.\n\nEvery response is accompanied by a status code. The status code provides a summary of the nature of response sent by the server. For example, a status code of `200` means everything is okay with the response and a code of `404` implies that the requested URL does not exist on server. \nA list of all valid HTTP status code can be found at the [List of Status Codes](https://en.wikipedia.org/wiki/List_of_HTTP_status_codes) wikipedia article. When using Postman, the response status code is described for easy reference.\n\nNote that if an invalid status code is requested to be sent, the server returns a status code of `400 Bad Request`." + }, + "response": [ + { + "id": "a2bda27d-2c7b-eb8e-1740-be4e1fe9a079", + "name": "200", + "originalRequest": { + "url": "https://echo.getpostman.com/status/200", + "method": "GET", + "header": [], + "body": {} + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "javascript", + "_postman_previewtype": "html", + "header": [ + { + "name": "Access-Control-Allow-Credentials", + "key": "Access-Control-Allow-Credentials", + "value": "", + "description": "" + }, + { + "name": "Access-Control-Allow-Headers", + "key": "Access-Control-Allow-Headers", + "value": "", + "description": "" + }, + { + "name": "Access-Control-Allow-Methods", + "key": "Access-Control-Allow-Methods", + "value": "", + "description": "" + }, + { + "name": "Access-Control-Allow-Origin", + "key": "Access-Control-Allow-Origin", + "value": "", + "description": "" + }, + { + "name": "Connection", + "key": "Connection", + "value": "keep-alive", + "description": "" + }, + { + "name": "Content-Length", + "key": "Content-Length", + "value": "14", + "description": "" + }, + { + "name": "Content-Type", + "key": "Content-Type", + "value": "application/json; charset=utf-8", + "description": "" + }, + { + "name": "Date", + "key": "Date", + "value": "Thu, 31 Mar 2016 11:58:47 GMT", + "description": "" + }, + { + "name": "ETag", + "key": "ETag", + "value": "W/\"e-1056260003\"", + "description": "" + }, + { + "name": "Server", + "key": "Server", + "value": "nginx/1.6.2", + "description": "" + }, + { + "name": "Vary", + "key": "Vary", + "value": "Accept-Encoding", + "description": "" + }, + { + "name": "X-Powered-By", + "key": "X-Powered-By", + "value": "Sails ", + "description": "" + } + ], + "cookie": [ + { + "expires": "Fri Apr 15 2016 11:14:58 GMT+0000 (UTC)", + "hostOnly": false, + "httpOnly": false, + "domain": ".getpostman.com", + "path": "/", + "secure": false, + "session": false, + "value": "yes", + "key": "getpostmanlogin" + }, + { + "expires": "Fri Apr 15 2016 11:14:58 GMT+0000 (UTC)", + "hostOnly": false, + "httpOnly": false, + "domain": ".getpostman.com", + "path": "/", + "secure": false, + "session": false, + "value": "df0c0256028d7ec4d641f766104a9571a8e249685bbc667d7cee030bbf44d3209495c70c03248e31e678a93812591d5e12187a8e99bf6bc5e80c40903f6ff6226938f24e413c0ffa613a7372064ec44a8594e8d3ede6945e34394f369573feeebc4a73a3e24b8c9ac18a53704addb5fd3f71f1ede488ff551feb059e9c1fb208164814e45e0312c4df8ea6e83c26702f42ae634c6afbe82d57c857bbf5598b5527961c1c28688dc2580070a4389f0cf4ec0a179b5b9c11b2ecbaa5460d374065bf5c7a3add9505df0fa89acb9f227f05ed2d4c6b58c39d6d728bd49f6f323ae67d4a75882aa7682f5d6fc5b981ba411d94aa93970bfaefa1953a73e440d50d012b5f288975c888e2345ee7777e746fb5aed3a7b2dbc087c6456621aa78c24a3c17c5f96cf59844933249a352f631e2008cffac6faf06d0e253dcc01cf0067bf56c1fbc5ed61fec1861b60c5accf35ffc2e56154a113004fa1db9d7171c3af8fc063918554092f5", + "key": "postman.sid" + }, + { + "expires": "Sat Mar 31 2018 11:16:21 GMT+0000 (UTC)", + "hostOnly": false, + "httpOnly": false, + "domain": ".echo.getpostman.com", + "path": "/", + "secure": false, + "session": false, + "value": "GA1.3.1703443399.1459422978", + "key": "_ga" + }, + { + "expires": "Invalid Date", + "hostOnly": true, + "httpOnly": true, + "domain": "echo.getpostman.com", + "path": "/", + "secure": false, + "session": true, + "value": "s%3AvuHU0EKeDbyNjVrEc7U30dMPzVu8CRaD.GOV1H9olcVzXqrwqP%2BC%2B6MVj2UczXivcN00jgPoDYfs", + "key": "sails.sid" + } + ], + "responseTime": "251", + "body": "{\"status\":200}" + } + ] + }, + { + "_postman_id": "159a89e2-110d-0785-9dd7-9e73b2d6878b", + "name": "Streamed Response", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "tests[\"response code is 200\"] = responseCode.code === 200;", + "tests[\"response is sent in chunks\"] = (postman.getResponseHeader('Transfer-Encoding') === 'chunked')", + "" + ] + } + } + ], + "request": { + "url": "https://postman-echo.com/stream/10", + "method": "GET", + "header": [], + "body": {}, + "description": "This endpoint allows one to recieve streaming http response using [chunked transfer encoding](https://en.wikipedia.org/wiki/Chunked_transfer_encoding) of a configurable length.\n\nA streaming response does not wait for the entire response to be generated on server before flushing it out. This implies that for a fairly large response, parts of it can be streamed to the requestee as and when it is generated on server. The client can then take actions of processing this partially received data." + }, + "response": [] + }, + { + "_postman_id": "0189572f-509e-efe0-686d-eed4b3d2f1f0", + "name": "Delay Response", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "var responseJSON;", + "try { ", + " responseJSON = JSON.parse(responseBody); ", + " tests[\"response body has key delay\"] = 'delay' in responseJSON;", + "}", + "catch (e) { }", + "tests[\"response code is 200\"] = responseCode.code === 200;", + "" + ] + } + } + ], + "request": { + "url": "https://postman-echo.com/delay/3", + "method": "GET", + "header": [], + "body": {}, + "description": "Using this endpoint one can configure how long it takes for the server to come back with a response. Appending a number to the URL defines the time (in seconds) the server will wait before responding.\n\nNote that a maximum delay of 10 seconds is accepted by the server." + }, + "response": [ + { + "id": "64f3f9f5-e3ca-9cdd-590c-88820be2f442", + "name": "success-response", + "originalRequest": { + "url": "https://echo.getpostman.com/delay/3", + "method": "GET", + "header": [], + "body": {} + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "_postman_previewtype": "text", + "header": [ + { + "key": "Access-Control-Allow-Credentials", + "value": "", + "name": "Access-Control-Allow-Credentials", + "description": "" + }, + { + "key": "Access-Control-Allow-Headers", + "value": "", + "name": "Access-Control-Allow-Headers", + "description": "" + }, + { + "key": "Access-Control-Allow-Methods", + "value": "", + "name": "Access-Control-Allow-Methods", + "description": "" + }, + { + "key": "Access-Control-Allow-Origin", + "value": "", + "name": "Access-Control-Allow-Origin", + "description": "" + }, + { + "key": "Access-Control-Expose-Headers", + "value": "", + "name": "Access-Control-Expose-Headers", + "description": "" + }, + { + "key": "Connection", + "value": "keep-alive", + "name": "Connection", + "description": "" + }, + { + "key": "Content-Length", + "value": "13", + "name": "Content-Length", + "description": "" + }, + { + "key": "Content-Type", + "value": "application/json; charset=utf-8", + "name": "Content-Type", + "description": "" + }, + { + "key": "Date", + "value": "Mon, 02 Jan 2017 09:19:03 GMT", + "name": "Date", + "description": "" + }, + { + "key": "ETag", + "value": "W/\"d-t/L/D5c0SDl+MoXtKdSVOg\"", + "name": "ETag", + "description": "" + }, + { + "key": "Server", + "value": "nginx/1.10.1", + "name": "Server", + "description": "" + }, + { + "key": "Vary", + "value": "Accept-Encoding", + "name": "Vary", + "description": "" + } + ], + "cookie": [ + { + "expires": "Mon Jan 18 2038 21:44:07 GMT+0000 (UTC)", + "httpOnly": true, + "domain": "echo.getpostman.com", + "path": "/", + "secure": false, + "value": "s%3AYjUiFBtGiJVL2a-qzZQZ1DFlAMhgXN9O.WaAjRUV0OteZxwmhbNibuB7VKse068JJIh6PwLQUKmQ", + "key": "sails.sid" + } + ], + "responseTime": "4769", + "body": "{\"delay\":\"3\"}" + } + ] + }, + { + "_postman_id": "154510d1-65a8-a2d0-f157-aa2c694d7be7", + "name": "Get UTF8 Encoded Response", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "tests[\"response code is 200\"] = responseCode.code === 200;" + ] + } + } + ], + "request": { + "url": "https://postman-echo.com/encoding/utf8", + "method": "GET", + "header": [], + "body": {}, + "description": "If a response of an endpoint requires to send data beyond the basic English / ASCII character set, the `charset` parameter in the `Content-Type` response header defines the character encoding policy.\n\nThis endpoint returns an `UTF8` character encoded response body with text in various languages such as Greek, Latin, East Asian, etc. Postman can interpret the character encoding and use appropriate methods to display the character set in responses." + }, + "response": [] + }, + { + "_postman_id": "fd961ad0-ab24-68d8-4be5-573e8585d526", + "name": "GZip Compressed Response", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "try {", + " var data = JSON.parse(responseBody);", + " tests[\"Body contains gzipped\"] = responseBody.has(\"gzipped\");", + " tests[\"Body contains headers\"] = responseBody.has(\"headers\");", + " tests[\"Body contains method\"] = responseBody.has(\"method\");", + "}", + "catch(e) {", + " console.log('Cannot parse response,probably not a JSON');", + "}", + "tests[\"response code is 200\"] = responseCode.code === 200;" + ] + } + } + ], + "request": { + "url": "https://postman-echo.com/gzip", + "method": "GET", + "header": [], + "body": {}, + "description": "This endpoint returns the response using [gzip compression algoritm](https://en.wikipedia.org/wiki/Gzip).\nThe uncompressed response is a JSON string containing the details of the request sent by the client. For this endpoint to work, one should request with `Accept-encoding` header containing `gzip` as part of its value. Postman supports gzip, deflate and SDCH decoding and automatically sends them as part of the request.\n\nHTTP Compression allows the server to send responses in a compressed format, which is uncompressed by the client before processing. This reduces network bandwidth consumption at the cost of increase in CPU usage.\nTo know more about this, refer the [HTTP Compression](https://en.wikipedia.org/wiki/HTTP_compression) wikipedia article." + }, + "response": [] + }, + { + "_postman_id": "5d3b31c0-fa26-ee03-5c1b-3715825d811d", + "name": "Deflate Compressed Response", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "tests[\"response code is 200\"] = responseCode.code === 200;", + "", + "try {", + " var data = JSON.parse(responseBody);", + " tests[\"Body contains deflated\"] = responseBody.has(\"deflated\");", + " tests[\"Body contains headers\"] = responseBody.has(\"headers\");", + " tests[\"Body contains method\"] = responseBody.has(\"method\");", + "}", + "catch(e) {", + " console.log('Cannot parse response,probably not a JSON');", + "}", + "" + ] + } + } + ], + "request": { + "url": "https://postman-echo.com/deflate", + "method": "GET", + "header": [], + "body": {}, + "description": "This endpoint returns the response using [deflate compression algoritm](https://en.wikipedia.org/wiki/DEFLATE). \nThe uncompressed response is a JSON string containing the details of the request sent by the client. For this endpoint to work, one should request with `Accept-encoding` header containing `deflate` as part of its value. Postman supports gzip, deflate and SDCH decoding and automatically sends them as part of the request.\n\nHTTP Compression allows the server to send responses in a compressed format, which is uncompressed by the client before processing. This reduces network bandwidth consumption at the cost of increase in CPU usage.\nTo know more about this, refer the [HTTP Compression](https://en.wikipedia.org/wiki/HTTP_compression) wikipedia article." + }, + "response": [] + }, + { + "_postman_id": "39a204d5-944a-59d3-2dfe-90fd378cc3da", + "name": "IP address in JSON format", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "var body = JSON.parse(responseBody);", + "", + "tests[\"Status code is 200\"] = responseCode.code === 200;", + "tests[\"Valid response structure\"] = /^[a-fA-F:\\.0-9]+$/.test(body.ip);" + ] + } + } + ], + "request": { + "url": "https://postman-echo.com/ip", + "method": "GET", + "header": [], + "body": {}, + "description": "A simple `GET` request to return the IP address of the source request in the following `JSON` format:\n\n```json\n{\n ip: \"request-ip-address\"\n}\n```" + }, + "response": [] + } + ] + }, + { + "_postman_id": "74a8adf0-4f3f-068a-7c35-9745aa7b57d1", + "name": "Utilities / Date and Time", + "description": "A set of `/time/*` mounted requests to perform date-time manipulations, among other operations.\n", + "item": [ + { + "_postman_id": "2881587c-bd9f-0ed1-7c31-525e4ed5306c", + "name": "Current UTC time", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "tests[\"Status code is 200\"] = responseCode.code === 200;", + "tests[\"Time is in a valid format\"] = responseBody === postman.getResponseHeader(\"date\");", + "" + ] + } + } + ], + "request": { + "url": "https://postman-echo.com/time/now", + "method": "GET", + "header": [], + "body": {}, + "description": "A simple `GET` request to `/time/now` to return the current timestamp as a UTC string.\n\n```\nFri, 04 Nov 2016 09:00:46 GMT\n```" + }, + "response": [ + { + "id": "f3f2053b-e446-a8b1-aee2-124618275f94", + "name": "time as text", + "originalRequest": { + "url": "https://postman-echo.com/time/now", + "method": "GET", + "header": [], + "body": {} + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "html", + "_postman_previewtype": "text", + "header": [ + { + "key": "Access-Control-Allow-Credentials", + "value": "", + "name": "Access-Control-Allow-Credentials", + "description": "" + }, + { + "key": "Access-Control-Allow-Headers", + "value": "", + "name": "Access-Control-Allow-Headers", + "description": "" + }, + { + "key": "Access-Control-Allow-Methods", + "value": "", + "name": "Access-Control-Allow-Methods", + "description": "" + }, + { + "key": "Access-Control-Allow-Origin", + "value": "", + "name": "Access-Control-Allow-Origin", + "description": "" + }, + { + "key": "Access-Control-Expose-Headers", + "value": "", + "name": "Access-Control-Expose-Headers", + "description": "" + }, + { + "key": "Connection", + "value": "keep-alive", + "name": "Connection", + "description": "" + }, + { + "key": "Content-Encoding", + "value": "gzip", + "name": "Content-Encoding", + "description": "" + }, + { + "key": "Content-Length", + "value": "49", + "name": "Content-Length", + "description": "" + }, + { + "key": "Content-Type", + "value": "text/html; charset=utf-8", + "name": "Content-Type", + "description": "" + }, + { + "key": "Date", + "value": "Wed, 11 Jan 2017 10:27:12 GMT", + "name": "Date", + "description": "" + }, + { + "key": "ETag", + "value": "W/\"1d-2jJhkzratfVX9VZ0+raHbw\"", + "name": "ETag", + "description": "" + }, + { + "key": "Server", + "value": "nginx/1.10.1", + "name": "Server", + "description": "" + }, + { + "key": "Vary", + "value": "Accept-Encoding", + "name": "Vary", + "description": "" + }, + { + "key": "set-cookie", + "value": "sails.sid=s%3A2lT3TO7qS1tadeSAp4axl-NcXG9CV6Rf.HGqLY%2FlKEKY4fgCLePaAZs3tCHp%2Bglf7ZOJYlonGeig; Path=/; HttpOnly", + "name": "set-cookie", + "description": "" + } + ], + "cookie": [ + { + "expires": "Mon Jan 18 2038 21:44:07 GMT+0000 (UTC)", + "httpOnly": true, + "domain": "postman-echo.com", + "path": "/", + "secure": false, + "value": "s%3A2lT3TO7qS1tadeSAp4axl-NcXG9CV6Rf.HGqLY%2FlKEKY4fgCLePaAZs3tCHp%2Bglf7ZOJYlonGeig", + "key": "sails.sid" + } + ], + "responseTime": "749", + "body": "Wed, 11 Jan 2017 10:27:12 GMT" + } + ] + }, + { + "_postman_id": "54dfe6f2-5887-1078-1f3c-3cf36acc648e", + "name": "Timestamp validity", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "var validity = JSON.parse(responseBody).valid;", + "", + "tests[\"Status code is 200\"] = responseCode.code === 200;", + "tests[\"Timestamp is valid\"] = validity === true;", + "" + ] + } + } + ], + "request": { + "url": "https://postman-echo.com/time/valid?timestamp=2016-10-10", + "method": "GET", + "header": [], + "body": {}, + "description": "A simple `GET` request to `/time/valid` to determine the validity of the timestamp, (current by default).\nThis endpoint accepts `timestamp`, `locale`, `format`, and `strict` query parameters to construct the date time instance to check against.\n\nResponses are provided in JSON format, with a valid key to indicate the result. The response code is `200`.\n\n```\n{\n valid: true/false\n}\n```" + }, + "response": [ + { + "id": "7aa5b2c4-70b5-d5f1-843b-ab90365ee59e", + "name": "Invalid Timestamp", + "originalRequest": { + "url": "https://postman-echo.com/time/valid?timestamp=2016-10-10", + "method": "GET", + "header": [], + "body": {} + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "_postman_previewtype": "text", + "header": [ + { + "key": "Access-Control-Allow-Credentials", + "value": "", + "name": "Access-Control-Allow-Credentials", + "description": "" + }, + { + "key": "Access-Control-Allow-Headers", + "value": "", + "name": "Access-Control-Allow-Headers", + "description": "" + }, + { + "key": "Access-Control-Allow-Methods", + "value": "", + "name": "Access-Control-Allow-Methods", + "description": "" + }, + { + "key": "Access-Control-Allow-Origin", + "value": "", + "name": "Access-Control-Allow-Origin", + "description": "" + }, + { + "key": "Access-Control-Expose-Headers", + "value": "", + "name": "Access-Control-Expose-Headers", + "description": "" + }, + { + "key": "Connection", + "value": "keep-alive", + "name": "Connection", + "description": "" + }, + { + "key": "Content-Length", + "value": "15", + "name": "Content-Length", + "description": "" + }, + { + "key": "Content-Type", + "value": "application/json; charset=utf-8", + "name": "Content-Type", + "description": "" + }, + { + "key": "Date", + "value": "Wed, 11 Jan 2017 10:27:53 GMT", + "name": "Date", + "description": "" + }, + { + "key": "ETag", + "value": "W/\"f-/i9mO/upK91ZtL0BkKFGtw\"", + "name": "ETag", + "description": "" + }, + { + "key": "Server", + "value": "nginx/1.10.1", + "name": "Server", + "description": "" + }, + { + "key": "Vary", + "value": "Accept-Encoding", + "name": "Vary", + "description": "" + }, + { + "key": "set-cookie", + "value": "sails.sid=s%3ATNJaNxi2QCv4RPBb64sIZxQGN1h6IP3g.9sQVAijlsLsh0r7LgffxXa9k2we6UumPEVv%2Bsk4woLI; Path=/; HttpOnly", + "name": "set-cookie", + "description": "" + } + ], + "cookie": [ + { + "expires": "Mon Jan 18 2038 21:44:07 GMT+0000 (UTC)", + "httpOnly": true, + "domain": "postman-echo.com", + "path": "/", + "secure": false, + "value": "s%3ATNJaNxi2QCv4RPBb64sIZxQGN1h6IP3g.9sQVAijlsLsh0r7LgffxXa9k2we6UumPEVv%2Bsk4woLI", + "key": "sails.sid" + } + ], + "responseTime": "264", + "body": "{\"valid\":false}" + }, + { + "id": "9fb04532-776f-0d8b-529a-9e3887fdebe4", + "name": "Valid Timestamp", + "originalRequest": { + "url": "https://postman-echo.com/time/valid?timestamp=2016-10-10", + "method": "GET", + "header": [], + "body": {} + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "_postman_previewtype": "text", + "header": [ + { + "key": "Access-Control-Allow-Credentials", + "value": "", + "name": "Access-Control-Allow-Credentials", + "description": "" + }, + { + "key": "Access-Control-Allow-Headers", + "value": "", + "name": "Access-Control-Allow-Headers", + "description": "" + }, + { + "key": "Access-Control-Allow-Methods", + "value": "", + "name": "Access-Control-Allow-Methods", + "description": "" + }, + { + "key": "Access-Control-Allow-Origin", + "value": "", + "name": "Access-Control-Allow-Origin", + "description": "" + }, + { + "key": "Access-Control-Expose-Headers", + "value": "", + "name": "Access-Control-Expose-Headers", + "description": "" + }, + { + "key": "Connection", + "value": "keep-alive", + "name": "Connection", + "description": "" + }, + { + "key": "Content-Length", + "value": "14", + "name": "Content-Length", + "description": "" + }, + { + "key": "Content-Type", + "value": "application/json; charset=utf-8", + "name": "Content-Type", + "description": "" + }, + { + "key": "Date", + "value": "Wed, 11 Jan 2017 10:27:33 GMT", + "name": "Date", + "description": "" + }, + { + "key": "ETag", + "value": "W/\"e-OYN7L87J1Ba9oy5mJE2kcA\"", + "name": "ETag", + "description": "" + }, + { + "key": "Server", + "value": "nginx/1.10.1", + "name": "Server", + "description": "" + }, + { + "key": "Vary", + "value": "Accept-Encoding", + "name": "Vary", + "description": "" + }, + { + "key": "set-cookie", + "value": "sails.sid=s%3AdDGZPe1CZw4mAxGVCHr6RfCADCAwquXa.F5MEm5LJad30JHrSwGGoyWLn2OAAGdvUM7kDtzNfdFI; Path=/; HttpOnly", + "name": "set-cookie", + "description": "" + } + ], + "cookie": [ + { + "expires": "Mon Jan 18 2038 21:44:07 GMT+0000 (UTC)", + "httpOnly": true, + "domain": "postman-echo.com", + "path": "/", + "secure": false, + "value": "s%3AdDGZPe1CZw4mAxGVCHr6RfCADCAwquXa.F5MEm5LJad30JHrSwGGoyWLn2OAAGdvUM7kDtzNfdFI", + "key": "sails.sid" + } + ], + "responseTime": "493", + "body": "{\"valid\":true}" + } + ] + }, + { + "_postman_id": "c38e8be7-1739-2108-1804-a8b171c75298", + "name": "Format timestamp", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "var format = JSON.parse(responseBody).format;", + "", + "tests[\"Status code is 200\"] = responseCode.code === 200;", + "tests[\"Formatted result is valid\"] = format === \"20\";", + "" + ] + } + } + ], + "request": { + "url": "https://postman-echo.com/time/format?timestamp=2016-10-10&format=mm", + "method": "GET", + "header": [], + "body": {}, + "description": "A simple `GET` request to `/time/format` to convert the timestamp to any desired valid format.\n\nThis endpoint accepts `timestamp`, `locale`, `format`, and `strict` query parameters to construct the date time instance to check against.\n\nResponses are provided in JSON format, with a `format` key to indicate the result. The response code is `200` for valid query parameters, and `400` otherwise.\n\n```\n{\n format: \"formatted-timestamp\"\n}\n```" + }, + "response": [] + }, + { + "_postman_id": "f922a99e-6e96-ded7-ac6f-3ca6f958987d", + "name": "Extract timestamp unit", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "var unit = JSON.parse(responseBody).unit;", + "", + "tests[\"Status code is 200\"] = responseCode.code === 200;", + "tests[\"Returned unit is valid\"] = unit === 1;", + "" + ] + } + } + ], + "request": { + "url": "https://postman-echo.com/time/unit?timestamp=2016-10-10&unit=day", + "method": "GET", + "header": [], + "body": {}, + "description": "A simple `GET` request to `/time/unit` to extract the specified timestamp unit (as provided in the `unit` query parameter). The default unit returned is the `year`.\n\nThis endpoint accepts `timestamp`, `locale`, `format`, and `strict` query parameters to construct the date time instance to check against.\n\nResponses are provided in JSON format, with a `unit` key to indicate the result. The response code is `200` for valid query parameters, and `400` otherwise.\n\n```\n{\n unit: \"extracted-timestamp-unit\"\n}\n```" + }, + "response": [] + }, + { + "_postman_id": "4cef08e8-75d3-2a31-e703-115cf976e75e", + "name": "Time addition", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "var sum = JSON.parse(responseBody).sum;", + "", + "tests[\"Status code is 200\"] = responseCode.code === 200;" + ] + } + } + ], + "request": { + "url": "https://postman-echo.com/time/add?timestamp=2016-10-10&years=100", + "method": "GET", + "header": [], + "body": {}, + "description": "A simple `GET` request to `/time/add` to add units of time to the specified / current timestamp (as provided in the `years`, `months`, `days`, `hours`, `minutes`, `seconds`, and `milliseconds` query parameters).\n\nThis endpoint accepts `timestamp`, `locale`, `format`, and `strict` query parameters to construct the date time instance to check against.\n\nResponses are provided in JSON format, with a `sum` key to indicate the result. The response code is `200` for valid query parameters, and `400` otherwise.\n\n```\n{\n sum: \"sum of (provided / current) and provided timestamps\"\n}\n```" + }, + "response": [] + }, + { + "_postman_id": "b4a2e234-3b0c-1a3e-14f8-5cafd567ee08", + "name": "Time subtraction", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "var difference = JSON.parse(responseBody).difference;", + "", + "tests[\"Status code is 200\"] = responseCode.code === 200;" + ] + } + } + ], + "request": { + "url": "https://postman-echo.com/time/subtract?timestamp=2016-10-10&years=100", + "method": "GET", + "header": [], + "body": {}, + "description": "A simple `GET` request to `/time/subtract` to subtract units of time from the specified / current timestamp (as provided in the `years`, `months`, `days`, `hours`, `minutes`, `seconds`, and `milliseconds` query parameters).\n\nThis endpoint accepts `timestamp`, `locale`, `format`, and `strict` query parameters to construct the date time instance to check against.\n\nResponses are provided in JSON format, with a `difference` key to indicate the result. The response code is `200` for valid query parameters, and `400` otherwise.\n\n```\n{\n difference: \"difference between (provided / current) and provided timestamps\"\n}\n```" + }, + "response": [] + }, + { + "_postman_id": "4dc695e5-6b1e-1edf-c68d-014139c59d7e", + "name": "Start of time", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "var start = JSON.parse(responseBody).start;", + "", + "tests[\"Status code is 200\"] = responseCode.code === 200;" + ] + } + } + ], + "request": { + "url": "https://postman-echo.com/time/start?timestamp=2016-10-10&unit=month", + "method": "GET", + "header": [], + "body": {}, + "description": "A simple `GET` request to `/time/start` to return a relative timstamp in the past from the specified / current timestamp (as provided in the `unit` query parameter).\n\nFor instance, if the `unit` has been specified as `month`, the returned timestamp would indicate the beginning of the current month. Similar results are returned for other units of time, like: `years`, `months`, `days`, `hours`, `minutes`, `seconds`, and `milliseconds`\n\nThis endpoint accepts `timestamp`, `locale`, `format`, and `strict` query parameters to construct the date time instance to check against.\n\nResponses are provided in JSON format, with a `start` key to indicate the result. The response code is `200` for valid query parameters, and `400` otherwise.\n\n```\n{\n start: \"A timestamp from the past, depending on the `unit` specified\"\n}\n```" + }, + "response": [] + }, + { + "_postman_id": "e8a83301-4e86-1e6c-e88c-2cbedc1524d6", + "name": "Object representation", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "var object = JSON.parse(responseBody);", + "", + "tests[\"Status code is 200\"] = responseCode.code === 200;" + ] + } + } + ], + "request": { + "url": "https://postman-echo.com/time/start?timestamp=2016-10-10&unit=month", + "method": "GET", + "header": [], + "body": {}, + "description": "A simple `GET` request to `/time/object` to return the current / provided timestamp as a JSON object.\n\nFor instance, if the `unit` has been specified as `month`, the returned timestamp would indicate the beginning of the current month. Similar results are returned for other units of time, like: `years`, `months`, `days`, `hours`, `minutes`, `seconds`, and `milliseconds`\n\nThis endpoint accepts `timestamp`, `locale`, `format`, and `strict` query parameters to construct the date time instance to check against.\n\nResponses are provided in JSON format. The response code is `200` for valid query parameters, and `400` otherwise.\n\n```\n{\n years: 2016,\n months: 10,\n days: 10,\n hours: 23,\n minutes: 34,\n seconds: 20,\n milliseconds: 980\n}\n```" + }, + "response": [] + }, + { + "_postman_id": "b709b99c-3347-40fc-2c21-98ceb7f9e267", + "name": "Before comparisons", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "var before = JSON.parse(responseBody).before;", + "", + "tests[\"Status code is 200\"] = responseCode.code === 200;", + "tests[\"Comparsion was correct\"] = before === true;" + ] + } + } + ], + "request": { + "url": "https://postman-echo.com/time/before?timestamp=2016-10-10&target=2017-10-10", + "method": "GET", + "header": [], + "body": {}, + "description": "A simple `GET` request to `/time/before` to check if the provided timestamps is before a comparison `target` (query parameter).\n\nThis endpoint accepts `timestamp`, `locale`, `format`, `strict`, and `target` query parameters to construct the date time instance to check against.\n\nResponses are provided in JSON format, with a `before` key to indicate the result. The response code is `200` for valid query parameters, and `400` otherwise.\n\n```\n{\n before: true/false\n}\n```" + }, + "response": [] + }, + { + "_postman_id": "47f089f3-196e-fb13-fdf6-1d62f85ad96f", + "name": "After comparisons", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "var after = JSON.parse(responseBody).after;", + "", + "tests[\"Status code is 200\"] = responseCode.code === 200;", + "tests[\"Comparsion was correct\"] = after === false;" + ] + } + } + ], + "request": { + "url": "https://postman-echo.com/time/after?timestamp=2016-10-10&target=2017-10-10", + "method": "GET", + "header": [], + "body": {}, + "description": "A simple `GET` request to `/time/after` to check if the provided timestamps is after a comparison `target` (query parameter).\n\nThis endpoint accepts `timestamp`, `locale`, `format`, `strict`, and `target` query parameters to construct the date time instance to check against.\n\nResponses are provided in JSON format, with a `after` key to indicate the result. The response code is `200` for valid query parameters, and `400` otherwise.\n\n```\n{\n after: true/false\n}\n```" + }, + "response": [] + }, + { + "_postman_id": "8cc2e733-7e68-8ad8-efd1-5393510a300a", + "name": "Between timestamps", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "var after = JSON.parse(responseBody).after;", + "", + "tests[\"Status code is 200\"] = responseCode.code === 200;", + "tests[\"Comparsion was correct\"] = after === false;" + ] + } + } + ], + "request": { + "url": "https://postman-echo.com/time/between?timestamp=2016-10-10&start=2017-10-10&end=2019-10-10", + "method": "GET", + "header": [], + "body": {}, + "description": "A simple `GET` request to `/time/between` to check if the provided timestamp is between a range specified by the `start` and `end` query parameters. A resolution limit can also be specified by the `unit` query parameter.\n\nFor instance, for a resolution `unit` of `month`,\n`2016-10-05` does lie between `2016-11-02` and `2016-09-01`.\n\nThis endpoint also accepts `timestamp`, `locale`, `format`, `strict`, and `target` query parameters to construct the date time instance to check against.\n\nResponses are provided in JSON format, with a `between` key to indicate the result. The response code is `200` for valid query parameters, and `400` otherwise.\n\n```\n{\n between: true/false\n}\n```" + }, + "response": [] + }, + { + "_postman_id": "1ef02347-9a4d-5d6a-1b75-144dd6de641f", + "name": "Leap year check", + "event": [ + { + "listen": "test", + "script": { + "type": "text/javascript", + "exec": [ + "tests[\"Status code is 200\"] = responseCode.code === 200;", + "tests[\"Comparsion was correct\"] = JSON.parse(responseBody).leap === true;" + ] + } + } + ], + "request": { + "url": "https://postman-echo.com/time/leap?timestamp=2016-10-10", + "method": "GET", + "header": [], + "body": {}, + "description": "A simple `GET` request to `/time/leap` to check if the provided/current timestamp belongs to a leap year.\n\nThis endpoint also accepts `timestamp`, `locale`, `format`, `strict`, and `target` query parameters to construct the date time instance to check against.\n\nResponses are provided in JSON format, with a `leap` key to indicate the result. The response code is `200` for valid query parameters, and `400` otherwise.\n\n```\n{\n leap: true/false\n}\n```" + }, + "response": [] + } + ] + }, + { + "_postman_id": "084b21bd-d250-180b-5ed8-94cfaca39fdd", + "name": "Utilities / Postman Collection", + "description": "", + "item": [ + { + "_postman_id": "fffc59d5-1e2d-ccc8-2101-2f7b9216be40", + "name": "Transform collection from format v1 to v2", + "request": { + "url": "https://postman-echo.com/transform/collection?from=1&to=2", + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"id\": \"7875be4b-917d-4aff-8cc4-5606c36bf418\",\n \"name\": \"Sample Postman Collection\",\n \"description\": \"A sample collection to demonstrate collections as a set of related requests\",\n \"order\": [\n \"4d9134be-e8bf-4693-9cd7-1c0fc66ae739\",\n \"141ba274-cc50-4377-a59c-e080066f375e\",\n \"4511ca8b-0bc7-430f-b894-a7ec1036f322\"\n ],\n \"folders\": [],\n \"requests\": [\n {\n \"id\": \"4d9134be-e8bf-4693-9cd7-1c0fc66ae739\",\n \"name\": \"A simple GET request\",\n \"collectionId\": \"877b9dae-a50e-4152-9b89-870c37216f78\",\n \"method\": \"GET\",\n \"headers\": \"\",\n \"data\": [],\n \"rawModeData\": \"\",\n \"tests\": \"tests['response code is 200'] = (responseCode.code === 200);\",\n \"preRequestScript\": \"\",\n \"url\": \"https://postman-echo.com/get?source=newman-sample-github-collection\"\n },\n {\n \"id\": \"141ba274-cc50-4377-a59c-e080066f375e\",\n \"name\": \"A simple POST request\",\n \"collectionId\": \"877b9dae-a50e-4152-9b89-870c37216f78\",\n \"method\": \"POST\",\n \"headers\": \"Content-Type: text/plain\",\n \"dataMode\": \"raw\",\n \"data\": [],\n \"rawModeData\": \"Duis posuere augue vel cursus pharetra. In luctus a ex nec pretium...\",\n \"url\": \"https://postman-echo.com/post\"\n },\n {\n \"id\": \"4511ca8b-0bc7-430f-b894-a7ec1036f322\",\n \"name\": \"A simple POST request with JSON body\",\n \"collectionId\": \"877b9dae-a50e-4152-9b89-870c37216f78\",\n \"method\": \"POST\",\n \"headers\": \"Content-Type: application/json\",\n \"dataMode\": \"raw\",\n \"data\": [],\n \"rawModeData\": \"{\\\"text\\\":\\\"Duis posuere augue vel cursus pharetra. In luctus a ex nec pretium...\\\"}\",\n \"url\": \"https://postman-echo.com/post\"\n }\n ]\n}" + }, + "description": "" + }, + "response": [ + { + "id": "1ae2f3c1-9bde-e8f1-273c-82532812f931", + "name": "Sample v2 Response", + "originalRequest": { + "url": "https://postman-echo.com/transform/collection?from=1&to=2", + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "enabled": true, + "description": "The mime type of this content", + "disabled": false + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"id\": \"7875be4b-917d-4aff-8cc4-5606c36bf418\",\n \"name\": \"Sample Postman Collection\",\n \"description\": \"A sample collection to demonstrate collections as a set of related requests\",\n \"order\": [\n \"4d9134be-e8bf-4693-9cd7-1c0fc66ae739\",\n \"141ba274-cc50-4377-a59c-e080066f375e\",\n \"4511ca8b-0bc7-430f-b894-a7ec1036f322\"\n ],\n \"folders\": [],\n \"requests\": [\n {\n \"id\": \"4d9134be-e8bf-4693-9cd7-1c0fc66ae739\",\n \"name\": \"A simple GET request\",\n \"collectionId\": \"877b9dae-a50e-4152-9b89-870c37216f78\",\n \"method\": \"GET\",\n \"headers\": \"\",\n \"data\": [],\n \"rawModeData\": \"\",\n \"tests\": \"tests['response code is 200'] = (responseCode.code === 200);\",\n \"preRequestScript\": \"\",\n \"url\": \"https://postman-echo.com/get?source=newman-sample-github-collection\"\n },\n {\n \"id\": \"141ba274-cc50-4377-a59c-e080066f375e\",\n \"name\": \"A simple POST request\",\n \"collectionId\": \"877b9dae-a50e-4152-9b89-870c37216f78\",\n \"method\": \"POST\",\n \"headers\": \"Content-Type: text/plain\",\n \"dataMode\": \"raw\",\n \"data\": [],\n \"rawModeData\": \"Duis posuere augue vel cursus pharetra. In luctus a ex nec pretium...\",\n \"url\": \"https://postman-echo.com/post\"\n },\n {\n \"id\": \"4511ca8b-0bc7-430f-b894-a7ec1036f322\",\n \"name\": \"A simple POST request with JSON body\",\n \"collectionId\": \"877b9dae-a50e-4152-9b89-870c37216f78\",\n \"method\": \"POST\",\n \"headers\": \"Content-Type: application/json\",\n \"dataMode\": \"raw\",\n \"data\": [],\n \"rawModeData\": \"{\\\"text\\\":\\\"Duis posuere augue vel cursus pharetra. In luctus a ex nec pretium...\\\"}\",\n \"url\": \"https://postman-echo.com/post\"\n }\n ]\n}" + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "_postman_previewtype": "text", + "header": [ + { + "key": "Access-Control-Allow-Credentials", + "value": "", + "name": "Access-Control-Allow-Credentials", + "description": "" + }, + { + "key": "Access-Control-Allow-Headers", + "value": "", + "name": "Access-Control-Allow-Headers", + "description": "" + }, + { + "key": "Access-Control-Allow-Methods", + "value": "", + "name": "Access-Control-Allow-Methods", + "description": "" + }, + { + "key": "Access-Control-Allow-Origin", + "value": "", + "name": "Access-Control-Allow-Origin", + "description": "" + }, + { + "key": "Access-Control-Expose-Headers", + "value": "", + "name": "Access-Control-Expose-Headers", + "description": "" + }, + { + "key": "Connection", + "value": "keep-alive", + "name": "Connection", + "description": "" + }, + { + "key": "Content-Encoding", + "value": "gzip", + "name": "Content-Encoding", + "description": "" + }, + { + "key": "Content-Type", + "value": "application/json; charset=utf-8", + "name": "Content-Type", + "description": "" + }, + { + "key": "Date", + "value": "Wed, 11 Jan 2017 10:41:32 GMT", + "name": "Date", + "description": "" + }, + { + "key": "ETag", + "value": "W/\"4cc-7P727Clhlrl9+b1/vneniw\"", + "name": "ETag", + "description": "" + }, + { + "key": "Server", + "value": "nginx/1.10.1", + "name": "Server", + "description": "" + }, + { + "key": "Vary", + "value": "X-HTTP-Method-Override, Accept-Encoding", + "name": "Vary", + "description": "" + }, + { + "key": "set-cookie", + "value": "sails.sid=s%3AHtnQ1hlPxoj7wZahoNkcjN-aw9nQL0fc.KSyfLbEKhv1Lt3LvH13Ogjv9ENZgsBBSM6V8Y7TqVOU; Path=/; HttpOnly", + "name": "set-cookie", + "description": "" + }, + { + "key": "transfer-encoding", + "value": "chunked", + "name": "transfer-encoding", + "description": "" + } + ], + "cookie": [ + { + "expires": "Mon Jan 18 2038 21:44:07 GMT+0000 (UTC)", + "httpOnly": true, + "domain": "postman-echo.com", + "path": "/", + "secure": false, + "value": "s%3AHtnQ1hlPxoj7wZahoNkcjN-aw9nQL0fc.KSyfLbEKhv1Lt3LvH13Ogjv9ENZgsBBSM6V8Y7TqVOU", + "key": "sails.sid" + } + ], + "responseTime": "920", + "body": "{\"variables\":[],\"info\":{\"name\":\"Sample Postman Collection\",\"_postman_id\":\"7875be4b-917d-4aff-8cc4-5606c36bf418\",\"description\":\"A sample collection to demonstrate collections as a set of related requests\",\"schema\":\"https://schema.getpostman.com/json/collection/v2.0.0/collection.json\"},\"item\":[{\"name\":\"A simple GET request\",\"event\":[{\"listen\":\"test\",\"script\":{\"type\":\"text/javascript\",\"exec\":[\"tests['response code is 200'] = (responseCode.code === 200);\"]}}],\"request\":{\"url\":\"https://postman-echo.com/get?source=newman-sample-github-collection\",\"method\":\"GET\",\"header\":[],\"body\":{\"mode\":\"raw\",\"raw\":\"\"}},\"response\":[]},{\"name\":\"A simple POST request\",\"request\":{\"url\":\"https://postman-echo.com/post\",\"method\":\"POST\",\"header\":[{\"key\":\"Content-Type\",\"value\":\"text/plain\",\"description\":\"\"}],\"body\":{\"mode\":\"raw\",\"raw\":\"Duis posuere augue vel cursus pharetra. In luctus a ex nec pretium...\"}},\"response\":[]},{\"name\":\"A simple POST request with JSON body\",\"request\":{\"url\":\"https://postman-echo.com/post\",\"method\":\"POST\",\"header\":[{\"key\":\"Content-Type\",\"value\":\"application/json\",\"description\":\"\"}],\"body\":{\"mode\":\"raw\",\"raw\":\"{\\\"text\\\":\\\"Duis posuere augue vel cursus pharetra. In luctus a ex nec pretium...\\\"}\"}},\"response\":[]}]}" + } + ] + }, + { + "_postman_id": "dc8d6e30-c1cf-9d98-4b95-fc1ca6196511", + "name": "Transform collection from format v2 to v1", + "request": { + "url": "https://postman-echo.com/transform/collection?from=2&to=1", + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "description": "" + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"info\": {\n \"name\": \"Sample Postman Collection\",\n \"schema\": \"https://schema.getpostman.com/json/collection/v2.0.0/collection.json\",\n \"description\": \"A sample collection to demonstrate collections as a set of related requests\"\n },\n\n \"item\": [{\n \"name\": \"A simple GET request\",\n \"event\": [{\n \"listen\": \"test\",\n \"script\": {\n \"type\": \"text/javascript\",\n \"exec\": [\"tests['response code is 200'] = (responseCode.code === 200);\"]\n }\n }],\n \"request\": {\n \"url\": \"https://postman-echo.com/get?source=newman-sample-github-collection\",\n \"method\": \"GET\"\n }\n }, {\n \"name\": \"A simple POST request\",\n \"request\": {\n \"url\": \"https://postman-echo.com/post\",\n \"method\": \"POST\",\n \"header\": [{\n \"key\": \"Content-Type\",\n \"value\": \"text/plain\"\n }],\n \"body\": {\n \"mode\": \"raw\",\n \"raw\": \"Duis posuere augue vel cursus pharetra. In luctus a ex nec pretium...\"\n }\n }\n }, {\n \"name\": \"A simple POST request with JSON body\",\n \"request\": {\n \"url\": \"https://postman-echo.com/post\",\n \"method\": \"POST\",\n \"header\": [{\n \"key\": \"Content-Type\",\n \"value\": \"application/json\"\n }],\n \"body\": {\n \"mode\": \"raw\",\n \"raw\": \"{\\\"text\\\":\\\"Duis posuere augue vel cursus pharetra. In luctus a ex nec pretium...\\\"}\"\n }\n }\n }]\n}" + }, + "description": "" + }, + "response": [ + { + "id": "a5a669db-6b5f-89bb-62a0-6debe73f491f", + "name": "Sample v1 Response", + "originalRequest": { + "url": "https://postman-echo.com/transform/collection?from=2&to=1", + "method": "POST", + "header": [ + { + "key": "Content-Type", + "value": "application/json", + "enabled": true, + "description": "The mime type of this content", + "disabled": false + } + ], + "body": { + "mode": "raw", + "raw": "{\n \"info\": {\n \"name\": \"Sample Postman Collection\",\n \"schema\": \"https://schema.getpostman.com/json/collection/v2.0.0/collection.json\",\n \"description\": \"A sample collection to demonstrate collections as a set of related requests\"\n },\n\n \"item\": [{\n \"name\": \"A simple GET request\",\n \"event\": [{\n \"listen\": \"test\",\n \"script\": {\n \"type\": \"text/javascript\",\n \"exec\": [\"tests['response code is 200'] = (responseCode.code === 200);\"]\n }\n }],\n \"request\": {\n \"url\": \"https://postman-echo.com/get?source=newman-sample-github-collection\",\n \"method\": \"GET\"\n }\n }, {\n \"name\": \"A simple POST request\",\n \"request\": {\n \"url\": \"https://postman-echo.com/post\",\n \"method\": \"POST\",\n \"header\": [{\n \"key\": \"Content-Type\",\n \"value\": \"text/plain\"\n }],\n \"body\": {\n \"mode\": \"raw\",\n \"raw\": \"Duis posuere augue vel cursus pharetra. In luctus a ex nec pretium...\"\n }\n }\n }, {\n \"name\": \"A simple POST request with JSON body\",\n \"request\": {\n \"url\": \"https://postman-echo.com/post\",\n \"method\": \"POST\",\n \"header\": [{\n \"key\": \"Content-Type\",\n \"value\": \"application/json\"\n }],\n \"body\": {\n \"mode\": \"raw\",\n \"raw\": \"{\\\"text\\\":\\\"Duis posuere augue vel cursus pharetra. In luctus a ex nec pretium...\\\"}\"\n }\n }\n }]\n}" + } + }, + "status": "OK", + "code": 200, + "_postman_previewlanguage": "json", + "_postman_previewtype": "text", + "header": [ + { + "key": "Access-Control-Allow-Credentials", + "value": "", + "name": "Access-Control-Allow-Credentials", + "description": "" + }, + { + "key": "Access-Control-Allow-Headers", + "value": "", + "name": "Access-Control-Allow-Headers", + "description": "" + }, + { + "key": "Access-Control-Allow-Methods", + "value": "", + "name": "Access-Control-Allow-Methods", + "description": "" + }, + { + "key": "Access-Control-Allow-Origin", + "value": "", + "name": "Access-Control-Allow-Origin", + "description": "" + }, + { + "key": "Access-Control-Expose-Headers", + "value": "", + "name": "Access-Control-Expose-Headers", + "description": "" + }, + { + "key": "Connection", + "value": "keep-alive", + "name": "Connection", + "description": "" + }, + { + "key": "Content-Encoding", + "value": "gzip", + "name": "Content-Encoding", + "description": "" + }, + { + "key": "Content-Type", + "value": "application/json; charset=utf-8", + "name": "Content-Type", + "description": "" + }, + { + "key": "Date", + "value": "Wed, 11 Jan 2017 10:38:42 GMT", + "name": "Date", + "description": "" + }, + { + "key": "ETag", + "value": "W/\"569-P9uLZEIyoPfMmQ+U0mTO1A\"", + "name": "ETag", + "description": "" + }, + { + "key": "Server", + "value": "nginx/1.10.1", + "name": "Server", + "description": "" + }, + { + "key": "Vary", + "value": "X-HTTP-Method-Override, Accept-Encoding", + "name": "Vary", + "description": "" + }, + { + "key": "set-cookie", + "value": "sails.sid=s%3A55y5Ll7HpTzt_hKuw6N54k4N04ilmMdn.uCPCHttP5DmI%2BdBw2I9NZL55lFFOzz4XxS4qAHv47gI; Path=/; HttpOnly", + "name": "set-cookie", + "description": "" + }, + { + "key": "transfer-encoding", + "value": "chunked", + "name": "transfer-encoding", + "description": "" + } + ], + "cookie": [ + { + "expires": "Mon Jan 18 2038 21:44:07 GMT+0000 (UTC)", + "httpOnly": true, + "domain": "postman-echo.com", + "path": "/", + "secure": false, + "value": "s%3A55y5Ll7HpTzt_hKuw6N54k4N04ilmMdn.uCPCHttP5DmI%2BdBw2I9NZL55lFFOzz4XxS4qAHv47gI", + "key": "sails.sid" + } + ], + "responseTime": "276", + "body": "{\"id\":\"0c42230c-c8e4-4ca0-a4aa-d393971de8b8\",\"name\":\"Sample Postman Collection\",\"description\":\"A sample collection to demonstrate collections as a set of related requests\",\"order\":[\"3d04ed83-dc1e-40ec-923c-16aa92509e50\",\"e02f8160-fb41-4633-be80-cc7d701e85b4\",\"77bd6d4d-1060-4927-aa5c-dcdba7f750cf\"],\"folders\":[],\"requests\":[{\"id\":\"3d04ed83-dc1e-40ec-923c-16aa92509e50\",\"name\":\"A simple GET request\",\"collectionId\":\"1dd68aff-a3fa-4f52-904f-5b75053bc9d9\",\"method\":\"GET\",\"headers\":\"\",\"data\":[],\"rawModeData\":\"\",\"tests\":\"tests['response code is 200'] = (responseCode.code === 200);\",\"preRequestScript\":\"\",\"url\":\"https://postman-echo.com/get?source=newman-sample-github-collection\"},{\"id\":\"e02f8160-fb41-4633-be80-cc7d701e85b4\",\"name\":\"A simple POST request\",\"collectionId\":\"1dd68aff-a3fa-4f52-904f-5b75053bc9d9\",\"method\":\"POST\",\"headers\":\"Content-Type: text/plain\",\"dataMode\":\"raw\",\"data\":[],\"rawModeData\":\"Duis posuere augue vel cursus pharetra. In luctus a ex nec pretium...\",\"url\":\"https://postman-echo.com/post\"},{\"id\":\"77bd6d4d-1060-4927-aa5c-dcdba7f750cf\",\"name\":\"A simple POST request with JSON body\",\"collectionId\":\"1dd68aff-a3fa-4f52-904f-5b75053bc9d9\",\"method\":\"POST\",\"headers\":\"Content-Type: application/json\",\"dataMode\":\"raw\",\"data\":[],\"rawModeData\":\"{\\\"text\\\":\\\"Duis posuere augue vel cursus pharetra. In luctus a ex nec pretium...\\\"}\",\"url\":\"https://postman-echo.com/post\"}]}" + } + ] + } + ] + } + ] +} \ No newline at end of file