{ "info": { "_postman_id": "95186b61-1197-4a6e-a90f-d97223528d90", "name": "LetsEncrypt Client", "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json", "_exporter_id": "33635244" }, "item": [ { "name": "account", "item": [ { "name": "get cache contacts", "request": { "method": "GET", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" } ], "url": { "raw": "http://localhost:8080/api/Cache/GetContacts/{{accountId}}", "protocol": "http", "host": [ "localhost" ], "port": "8080", "path": [ "api", "Cache", "GetContacts", "{{accountId}}" ] } }, "response": [] }, { "name": "set cache contacts", "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\r\n \"contacts\": [\r\n \"maksym.sadovnychyy@gmail.com\"\r\n ]\r\n}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "http://localhost:8080/api/Cache/SetContacts/{{accountId}}", "protocol": "http", "host": [ "localhost" ], "port": "8080", "path": [ "api", "Cache", "SetContacts", "{{accountId}}" ] } }, "response": [] }, { "name": "host with upcoming ssl expire Copy", "request": { "method": "GET", "header": [ { "key": "Content-Type", "value": "application/json", "disabled": true }, { "key": "Accept", "value": "application/json", "disabled": true } ], "url": { "raw": "http://localhost:8080/api/CertsFlow/HostsWithUpcomingSslExpiry/{{sessionId}}", "protocol": "http", "host": [ "localhost" ], "port": "8080", "path": [ "api", "CertsFlow", "HostsWithUpcomingSslExpiry", "{{sessionId}}" ] } }, "response": [] } ] }, { "name": "certs", "item": [ { "name": "letsencrypt directory", "request": { "method": "GET", "header": [], "url": { "raw": "{{letsEncryptDirectory}}", "host": [ "{{letsEncryptDirectory}}" ] }, "description": "[https://letsencrypt.status.io/](https://letsencrypt.status.io/)" }, "response": [] }, { "name": "configure-client", "event": [ { "listen": "test", "script": { "exec": [ "// Ensure the response status code is 200 (OK)\r", "if (pm.response.code === 200) {\r", " // Get the plain text response\r", " let responseBody = pm.response.text();\r", " \r", " // Remove the surrounding quotes if present\r", " responseBody = responseBody.replace(/^\"|\"$/g, '');\r", " \r", " // Check if the response body is a valid GUID\r", " if (/^[0-9a-fA-F-]{36}$/.test(responseBody)) {\r", " // Set the environment variable sessionId with the response\r", " pm.environment.set(\"sessionId\", responseBody);\r", " console.log(`sessionId set to: ${responseBody}`);\r", " } else {\r", " console.log(\"Response body is not a valid GUID\");\r", " }\r", "} else {\r", " console.log(`Request failed with status code: ${pm.response.code}`);\r", "}\r", "" ], "type": "text/javascript", "packages": {} } } ], "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\r\n \"isStaging\": {{isStaging}}\r\n}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "http://localhost:8080/api/certs/configure-client", "protocol": "http", "host": [ "localhost" ], "port": "8080", "path": [ "api", "certs", "configure-client" ] } }, "response": [] }, { "name": "terms-of-service", "request": { "method": "GET", "header": [], "url": { "raw": "http://localhost:8080/api/certs/{{sessionId}}/terms-of-service", "protocol": "http", "host": [ "localhost" ], "port": "8080", "path": [ "api", "certs", "{{sessionId}}", "terms-of-service" ] } }, "response": [] }, { "name": "init", "event": [ { "listen": "test", "script": { "exec": [ "// Ensure the response status code is 200 (OK)\r", "if (pm.response.code === 200) {\r", " // Get the plain text response\r", " let responseBody = pm.response.text();\r", " \r", " // Remove the surrounding quotes if present\r", " responseBody = responseBody.replace(/^\"|\"$/g, '');\r", " \r", " // Check if the response body is a valid GUID\r", " if (/^[0-9a-fA-F-]{36}$/.test(responseBody)) {\r", " // Set the environment variable accountId with the response\r", " pm.environment.set(\"accountId\", responseBody);\r", " console.log(`accountId set to: ${responseBody}`);\r", " } else {\r", " console.log(\"Response body is not a valid GUID\");\r", " }\r", "} else {\r", " console.log(`Request failed with status code: ${pm.response.code}`);\r", "}\r", "" ], "type": "text/javascript", "packages": {} } }, { "listen": "prerequest", "script": { "exec": [ "// Retrieve sessionId and accountId from environment variables or global variables\r", "var sessionId = pm.environment.get(\"sessionId\") || pm.globals.get(\"sessionId\");\r", "var accountId = pm.environment.get(\"accountId\") || pm.globals.get(\"accountId\");\r", "\r", "// Base URL without the optional accountId parameter\r", "var baseUrl = `http://localhost:8080/CertsFlow/Init/${sessionId}`;\r", "\r", "// Append the accountId if it is provided\r", "if (accountId) {\r", " pm.request.url = `${baseUrl}/${accountId}`;\r", "} else {\r", " pm.request.url = baseUrl;\r", "}" ], "type": "text/javascript", "packages": {} } } ], "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\r\n \"contacts\": [\r\n \"maksym.sadovnychyy@gmail.com\"\r\n ]\r\n}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "http://localhost:8080/api/certs/{{sessionId}}/init/{{accountId}}", "protocol": "http", "host": [ "localhost" ], "port": "8080", "path": [ "api", "certs", "{{sessionId}}", "init", "{{accountId}}" ] } }, "response": [] }, { "name": "order", "event": [ { "listen": "test", "script": { "exec": [ "// Ensure the response status code is 200 (OK)\r", "if (pm.response.code === 200) {\r", " // Parse the JSON response\r", " let responseBody;\r", " try {\r", " responseBody = pm.response.json();\r", " } catch (e) {\r", " console.error(\"Failed to parse JSON response:\", e);\r", " return;\r", " }\r", "\r", " // Check if the response is an array and has at least one element\r", " if (Array.isArray(responseBody) && responseBody.length > 0) {\r", " // Get the first element of the array\r", " const firstElement = responseBody[0];\r", " \r", " // Set the environment variable challenge with the first element\r", " pm.environment.set(\"challenge\", firstElement);\r", " console.log(`challenge set to: ${firstElement}`);\r", " } else {\r", " console.log(\"Response body is not an array or is empty\");\r", " }\r", "} else {\r", " console.log(`Request failed with status code: ${pm.response.code}`);\r", "}\r", "" ], "type": "text/javascript", "packages": {} } } ], "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\r\n \"hostnames\": [\r\n \"staging.maks-it.com\"\r\n ],\r\n \"challengeType\": \"http-01\"\r\n}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "http://localhost:8080/api/certs/{{sessionId}}/order", "protocol": "http", "host": [ "localhost" ], "port": "8080", "path": [ "api", "certs", "{{sessionId}}", "order" ] } }, "response": [] }, { "name": "acme-challenge local", "request": { "method": "GET", "header": [], "url": { "raw": "http://localhost:8080/.well-known/acme-challenge/{{challenge}}", "protocol": "http", "host": [ "localhost" ], "port": "8080", "path": [ ".well-known", "acme-challenge", "{{challenge}}" ] } }, "response": [] }, { "name": "acme-challenge", "request": { "method": "GET", "header": [], "url": { "raw": "http://staging.maks-it.com/.well-known/acme-challenge/{{challenge}}", "protocol": "http", "host": [ "staging", "maks-it", "com" ], "path": [ ".well-known", "acme-challenge", "{{challenge}}" ] } }, "response": [] }, { "name": "complete-challenges", "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" } ], "body": { "mode": "raw", "raw": "", "options": { "raw": { "language": "json" } } }, "url": { "raw": "http://localhost:8080/api/certs/{{sessionId}}/complete-challenges", "protocol": "http", "host": [ "localhost" ], "port": "8080", "path": [ "api", "certs", "{{sessionId}}", "complete-challenges" ] } }, "response": [] }, { "name": "order-status", "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\r\n \"hostnames\": [\r\n \"staging.maks-it.com\"\r\n ]\r\n}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "http://localhost:8080/api/certs/{{sessionId}}/order-status", "protocol": "http", "host": [ "localhost" ], "port": "8080", "path": [ "api", "certs", "{{sessionId}}", "order-status" ] } }, "response": [] }, { "name": "download", "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\r\n \"hostnames\": [\r\n \"staging.maks-it.com\"\r\n ]\r\n}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "http://localhost:8080/api/certs/{{sessionId}}//certificates/download", "protocol": "http", "host": [ "localhost" ], "port": "8080", "path": [ "api", "certs", "{{sessionId}}", "", "certificates", "download" ] } }, "response": [] }, { "name": "apply", "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json" }, { "key": "Accept", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\r\n \"hostnames\": [\r\n \"staging.maks-it.com\"\r\n ]\r\n}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "http://localhost:8080/api/certs/{{sessionId}}/certificates/apply", "protocol": "http", "host": [ "localhost" ], "port": "8080", "path": [ "api", "certs", "{{sessionId}}", "certificates", "apply" ] } }, "response": [] }, { "name": "revoke", "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json", "type": "text" }, { "key": "Accept", "value": "application/json", "type": "text" } ], "body": { "mode": "raw", "raw": "{\r\n \"hostnames\": [\r\n \"staging.maks-it.com\"\r\n ]\r\n}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "http://localhost:8080/api/certs/{{sessionId}}/certificates/revoke", "protocol": "http", "host": [ "localhost" ], "port": "8080", "path": [ "api", "certs", "{{sessionId}}", "certificates", "revoke" ] } }, "response": [] } ] } ] }