Help
RSS
API
Feed
Maltego
Contact
Domain > apidocs.tdscloud.ie
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2025-10-01
3.161.225.22
(
ClassC
)
2026-02-26
3.169.173.76
(
ClassC
)
Port 80
HTTP/1.1 301 Moved PermanentlyServer: CloudFrontDate: Thu, 26 Feb 2026 02:13:49 GMTContent-Type: text/htmlContent-Length: 167Connection: keep-aliveLocation: https://apidocs.tdscloud.ie/X-Cache: Redirect from cloudfrontVia: 1.1 8af7e76489ae9222af2304e63d2c0520.cloudfront.net (CloudFront)X-Amz-Cf-Pop: HIO52-P4X-Amz-Cf-Id: 0SGUHv9qSM11grSdTmx1E9rl1EoIVX5i6VqeLy09ghDJ2b-Hj50jrw html>head>title>301 Moved Permanently/title>/head>body>center>h1>301 Moved Permanently/h1>/center>hr>center>CloudFront/center>/body>/html>
Port 443
HTTP/1.1 200 OKContent-Type: text/htmlContent-Length: 13511Connection: keep-aliveDate: Thu, 26 Feb 2026 02:13:50 GMTCache-Control: max-age0, no-cache, no-store, must-revalidateLast-Modified: Thu, 18 Sep 2025 10:36:12 GMTx-amz-version-id: CqEOFSWGUN6.bVbpHJ_9j7HFdtQCkcDgETag: a47ef34994ecfe34b82540bb4712e747Server: AmazonS3X-Cache: Miss from cloudfrontVia: 1.1 a454a679efa1e16833b77cb6af61e11c.cloudfront.net (CloudFront)X-Amz-Cf-Pop: HIO52-P4X-Amz-Cf-Id: kNQss7lsHSgQpLBbBzUVw0J6cvrHzp_7kXaXujF6ZDIFACiKQQ2YLw html>head> !-- Load the latest Swagger UI code and style from npm using unpkg.com --> script srchttps://unpkg.com/swagger-ui-dist@5.17.14/swagger-ui-bundle.js charsetUTF-8>/script> link relstylesheet typetext/css hrefhttps://unpkg.com/swagger-ui-dist@5.17.14/swagger-ui.css /> link relstylesheet typetext/css hrefbuild/site.css /> meta http-equivCache-control contentno-cache> link relicon hrefassets/tds-eye-green.ico /> title>acre Identity by TDS - Suite API/title>/head>body> !-- Header with Logo --> div idheader-bar style background: linear-gradient(90deg, #14C4A2 0%, #25314D 100%); padding: 15px 30px; display: flex; align-items: center; justify-content: space-between; box-shadow: 0 2px 4px rgba(0,0,0,0.1); > img idheader-logo srcassets/identity_wrdmrk_white.png altacre Identity style height: 40px; width: auto; /> span stylecolor: white; font-family: Basis Grotesque, Arial, Segoe UI, Tahoma, Geneva, Verdana, sans-serif; font-size: 14px;>Suite API v1/span> /div> !-- Dark Mode Toggle --> div idtheme-toggle style position: fixed; top: 80px; right: 20px; z-index: 1000; background: white; border-radius: 50px; padding: 8px; box-shadow: 0 2px 8px rgba(0,0,0,0.1); cursor: pointer; transition: all 0.3s ease; > svg idtheme-icon width24 height24 viewBox0 0 24 24 fillnone xmlnshttp://www.w3.org/2000/svg> path dM12 3V1M12 23V21M4.22 4.22L2.81 2.81M21.19 21.19L19.78 19.78M1 12H3M21 12H23M4.22 19.78L2.81 21.19M21.19 2.81L19.78 4.22M9 12C9 10.34 10.34 9 12 9V15C10.34 15 9 13.66 9 12Z stroke#25314D stroke-width2 stroke-linecapround stroke-linejoinround/> /svg> /div> div idswagger-ui>/div> !-- Div to hold the UI component --> !-- Export Options --> div idexport-options style position: fixed; bottom: 20px; right: 20px; z-index: 1000; display: flex; gap: 10px; > button idexport-postman style background: #FF6C37; color: white; border: none; padding: 12px 20px; border-radius: 6px; font-family: Basis Grotesque, Arial, Segoe UI, Tahoma, Geneva, Verdana, sans-serif; font-weight: 600; font-size: 14px; cursor: pointer; box-shadow: 0 2px 8px rgba(0,0,0,0.15); transition: all 0.3s ease; display: flex; align-items: center; gap: 8px; onmouseoverthis.style.transformtranslateY(-2px); this.style.boxShadow0 4px 12px rgba(0,0,0,0.2) onmouseoutthis.style.transformtranslateY(0); this.style.boxShadow0 2px 8px rgba(0,0,0,0.15)> svg width20 height20 viewBox0 0 24 24 fillnone xmlnshttp://www.w3.org/2000/svg> path dM13.527.099C6.955-.744.942 3.9.099 10.473c-.843 6.572 3.8 12.584 10.373 13.428 6.573.843 12.587-3.801 13.428-10.374C24.744 6.955 20.101.943 13.527.099zm2.471 7.485a.855.855 0 0 0-.593.25l-4.453 4.453-.307-.307-.643-.643c4.389-4.376 5.18-4.418 5.996-3.753zm-4.863 4.861l4.44-4.44a.62.62 0 1 1 .847.903l-4.699 4.125-.588-.588zm.33.694l-1.1.238a.06.06 0 0 1-.067-.032.06.06 0 0 1 .01-.073l.645-.645.512.512zM10.273 5.009l3.476 3.476L9.32 13.005l-3.955-.942c-.282-.067-.282-.31 0-.377l4.908-4.677z fillcurrentColor/> /svg> Export to Postman /button> /div> script> // Dark mode functionality function initDarkMode() { const toggle document.getElementById(theme-toggle); const icon document.getElementById(theme-icon); const headerBar document.getElementById(header-bar); const headerLogo document.getElementById(header-logo); const html document.documentElement; // Check for saved theme preference or default to light const currentTheme localStorage.getItem(theme) || light; html.setAttribute(data-theme, currentTheme); updateTheme(currentTheme); toggle.addEventListener(click, () > { const theme html.getAttribute(data-theme) dark ? light : dark; html.setAttribute(data-theme, theme); localStorage.setItem(theme, theme); updateTheme(theme); }); function updateTheme(theme) { updateIcon(theme); // Update toggle button styles toggle.style.background theme dark ? #2b0030 : white; // Update header bar for dark mode if (theme dark) { headerBar.style.background linear-gradient(90deg, #0fa089 0%, #3a4a6b 100%); headerLogo.src assets/identity_wrdmrk_white.png; } else { headerBar.style.background linear-gradient(90deg, #14C4A2 0%, #25314D 100%); headerLogo.src assets/identity_wrdmrk_white.png; } } function updateIcon(theme) { if (theme dark) { // Moon icon for dark mode icon.innerHTML path dM21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z stroke#f8f8f8 stroke-width2 stroke-linecapround stroke-linejoinround/>; } else { // Sun icon for light mode icon.innerHTML path dM12 3V1M12 23V21M4.22 4.22L2.81 2.81M21.19 21.19L19.78 19.78M1 12H3M21 12H23M4.22 19.78L2.81 21.19M21.19 2.81L19.78 4.22M9 12C9 10.34 10.34 9 12 9V15C10.34 15 9 13.66 9 12Z stroke#25314D stroke-width2 stroke-linecapround stroke-linejoinround/>; } } } function handleClick(version) { console.log(Click, version.value); buildSwaggerUI(version.value); } function buildSwaggerUI(version) { const v version || 1; const ui SwaggerUIBundle({ url: `./build/tds_suite_api_v${v}.json`, //Location of Open API spec in the repo dom_id: #swagger-ui, docExpansion: none, deepLinking: true, presets: SwaggerUIBundle.presets.apis, SwaggerUIBundle.SwaggerUIStandalonePreset, , plugins: SwaggerUIBundle.plugins.DownloadUrl // Request interceptor removed - client_id is now extracted from Bearer token // No additional headers needed beyond Authorization: Bearer token> }); window.ui ui; } // Convert OpenAPI to Postman Collection function convertToPostmanCollection(openApiSpec) { const collection { info: { name: openApiSpec.info.title || API Collection, description: openApiSpec.info.description || , schema: https://schema.getpostman.com/json/collection/v2.1.0/collection.json }, auth: { type: bearer, bearer: { key: token, value: {{bearer_token}}, type: string } }, variable: { key: baseUrl, value: openApiSpec.servers && openApiSpec.servers0 ? openApiSpec.servers0.url : https://api.example.com, type: string }, { key: bearer_token, value: your-oauth-token, type: string, description: OAuth 2.0 Bearer token } , item: }; // Group endpoints by tags const taggedItems {}; // Process each path for (const path, pathItem of Object.entries(openApiSpec.paths || {})) { for (const method, operation of Object.entries(pathItem)) { if (get, post, put, delete, patch, options, head.includes(method)) { const tags operation.tags || Default; const tag tags0; if (!taggedItemstag) { taggedItemstag { name: tag, item: }; } // Build request object const request { name: operation.summary || `${method.toUpperCase()} ${path}`, request: { method: method.toUpperCase(), header: { key: Content-Type, value: application/json, type: text }, , url: { raw: `{{baseUrl}}${path}`, host: {{baseUrl}}, path: path.split(/).filter(p > p) }, description: operation.description || } }; // Add query parameters if (operation.parameters) { const queryParams operation.parameters.filter(p > p.in query); if (queryParams.length > 0) { request.request.url.query queryParams.map(p > ({ key: p.name, value: p.example || , description: p.description || , disabled: !p.required })); } // Add path parameters const pathParams operation.parameters.filter(p > p.in path); if (pathParams.length > 0) { request.request.url.variable pathParams.map(p > ({ key: p.name, value: p.example || , description: p.description || })); } } // Add request body for POST/PUT/PATCH if (post, put, patch.includes(method) && operation.requestBody) { const content operation.requestBody.content; if (content && contentapplication/json) { const schema contentapplication/json.schema; const example contentapplication/json.example || generateExampleFromSchema(schema); request.request.body { mode: raw, raw: JSON.stringify(example, null, 2), options: { raw: { language: json } } }; } } taggedItemstag.item.push(request); } } } // Add all tagged groups to collection collection.item Object.values(taggedItems); return collection; } // Generate example from schema function generateExampleFromSchema(schema) { if (!schema) return {}; if (schema.$ref) { // Handle schema references - simplified version return { example: value }; } if (schema.type object) { const example {}; for (const key, prop of Object.entries(schema.properties || {})) { if (prop.example ! undefined) { examplekey prop.example; } else if (prop.type string) { examplekey prop.format date-time ? 2024-01-01T00:00:00Z : string; } else if (prop.type number || prop.type integer) { examplekey 0; } else if (prop.type boolean) { examplekey false; } else if (prop.type array) { examplekey ; } else if (prop.type object) { examplekey {}; } } return example; } return {}; } // Export to Postman handler function exportToPostman() { const version 1; // Default to v1 fetch(`./build/tds_suite_api_v${version}.json`) .then(response > response.json()) .then(openApiSpec > { const postmanCollection convertToPostmanCollection(openApiSpec); // Download as JSON file const dataStr JSON.stringify(postmanCollection, null, 2); const dataUri data:application/json;charsetutf-8,+ encodeURIComponent(dataStr); const exportFileDefaultName `${openApiSpec.info.title.replace(/\s+/g, _)}_postman_collection.json`; const linkElement document.createElement(a); linkElement.setAttribute(href, dataUri); linkElement.setAttribute(download, exportFileDefaultName); linkElement.click(); }) .catch(error > { console.error(Error exporting to Postman:, error); alert(Failed to export to Postman. Please check the console for details.); }); } window.onload function () { // Initialize dark mode initDarkMode(); // Begin Swagger UI call region buildSwaggerUI(); // Add Postman export handler document.getElementById(export-postman).addEventListener(click, exportToPostman); // client_id handling removed - now extracted from Bearer token }; /script>/body>/html>
View on OTX
|
View on ThreatMiner
Please enable JavaScript to view the
comments powered by Disqus.
Data with thanks to
AlienVault OTX
,
VirusTotal
,
Malwr
and
others
. [
Sitemap
]