Domain planner.kx-digital.com
The Netherlands
MICROSOFT-CORP-MSN-AS-BLOCK
Software information

Kestrel Kestrel

tcp/443 tcp/80

  • Swagger API description is publicly available
    First seen 2025-12-29 15:07
    Last seen 2026-02-09 10:21
    Open for 41 days
    • Severity: info
      Fingerprint: 5733ddf49ff49cd1f5e22fb40e9964ec472beb3a9e126c7a1d0dc43a70f93a52

      Public Swagger UI/API detected at path: /api/swagger.json - sample paths:
      GET /api/AntiForgery/token
      GET /api/Consultants
      GET /api/GrowthStages
      GET /api/Products
      GET /api/Products/sprayplan
      GET /api/Products/used
      GET /api/Products/user
      GET /api/Products/user/{id}
      GET /api/SprayplanApplicationProducts/{id}
      GET /api/SprayplanApplications/{id}
      GET /api/SprayplanApplications/{id}/images
      GET /api/SprayplanGrowthStageProducts/{id}
      GET /api/SprayplanGrowthStages/{id}
      GET /api/Sprayplans
      GET /api/Sprayplans/suggested
      GET /api/Sprayplans/user
      GET /api/Sprayplans/user/exists
      GET /api/Sprayplans/user/years
      GET /api/Sprayplans/user/{id}
      GET /api/Sprayplans/{id}
      GET /api/Users
      GET /api/Users/current
      GET /api/Users/email
      GET /api/Users/settings
      GET /api/Varieties
      GET /api/Varieties/cultures
      GET /api/Varieties/template
      GET /api/Varieties/used
      GET /api/users/login
      GET /api/users/login-internal
      GET /api/users/logout
      POST /api/Products/own
      POST /api/Reports/ProductList
      POST /api/Reports/Sprayplan
      POST /api/SprayplanApplications/{id}/product
      POST /api/SprayplanGrowthStages/{id}/products
      POST /api/Sprayplans/user/{id}/application
      POST /api/Sprayplans/user/{id}/duplicate
      POST /api/Sprayplans/user/{id}/send
      POST /api/Sprayplans/{id}/duplicate
      POST /api/Sprayplans/{id}/growth-stage
      POST /api/Stations
      PUT /api/Products/user/purchase-amount
      PUT /api/SprayplanApplicationProducts/{id}/reset
      PUT /api/SprayplanApplications/{id}/active
      PUT /api/SprayplanApplications/{id}/done
      PUT /api/SprayplanApplications/{id}/leafwallHeight
      PUT /api/SprayplanApplications/{id}/reset
      PUT /api/SprayplanApplications/{id}/waterAmount
      PUT /api/SprayplanGrowthStageProducts/{id}/dosage
      PUT /api/SprayplanGrowthStages/{id}/leafwall-height
      PUT /api/SprayplanGrowthStages/{id}/recommended
      PUT /api/SprayplanGrowthStages/{id}/water-amount
      PUT /api/Sprayplans/exists
      PUT /api/Sprayplans/{id}/active
      Found on 2026-02-09 10:21
    • Severity: info
      Fingerprint: 5733ddf49ff49cd1f5e22fb40e9964ec472beb3a9e126c7a1d0dc43a92298376

      Public Swagger UI/API detected at path: /api/swagger.json - sample paths:
      GET /api/AntiForgery/token
      GET /api/Consultants
      GET /api/GrowthStages
      GET /api/Products
      GET /api/Products/sprayplan
      GET /api/Products/used
      GET /api/Products/user
      GET /api/Products/user/{id}
      GET /api/SprayplanApplicationProducts/{id}
      GET /api/SprayplanApplications/{id}
      GET /api/SprayplanApplications/{id}/images
      GET /api/SprayplanGrowthStageProducts/{id}
      GET /api/SprayplanGrowthStages/{id}
      GET /api/Sprayplans
      GET /api/Sprayplans/suggested
      GET /api/Sprayplans/user
      GET /api/Sprayplans/user/exists
      GET /api/Sprayplans/user/years
      GET /api/Sprayplans/user/{id}
      GET /api/Sprayplans/{id}
      GET /api/Users
      GET /api/Users/current
      GET /api/Users/email
      GET /api/Users/settings
      GET /api/Varieties
      GET /api/Varieties/cultures
      GET /api/Varieties/template
      GET /api/Varieties/used
      GET /api/users/login
      GET /api/users/login-internal
      GET /api/users/logout
      POST /api/Products/own
      POST /api/Reports/ProductList
      POST /api/Reports/Sprayplan
      POST /api/SprayplanApplications/{id}/product
      POST /api/SprayplanGrowthStages/{id}/products
      POST /api/Sprayplans/user/{id}/application
      POST /api/Sprayplans/user/{id}/duplicate
      POST /api/Sprayplans/user/{id}/send
      POST /api/Sprayplans/{id}/duplicate
      POST /api/Sprayplans/{id}/growth-stage
      POST /api/Stations
      PUT /api/Products/user/purchase-amount
      PUT /api/SprayplanApplicationProducts/{id}/reset
      PUT /api/SprayplanApplications/{id}/active
      PUT /api/SprayplanApplications/{id}/done
      PUT /api/SprayplanApplications/{id}/leafwallHeight
      PUT /api/SprayplanApplications/{id}/reset
      PUT /api/SprayplanApplications/{id}/waterAmount
      PUT /api/SprayplanGrowthStageProducts/{id}/dosage
      PUT /api/SprayplanGrowthStages/{id}/leafwall-height
      PUT /api/SprayplanGrowthStages/{id}/recommended
      PUT /api/Sprayplans/exists
      PUT /api/Sprayplans/{id}/active
      Found on 2026-02-02 11:54
  • Swagger API description is publicly available
    First seen 2025-12-29 15:07
    Last seen 2026-02-01 23:33
    Open for 34 days
    • Severity: info
      Fingerprint: 5733ddf49ff49cd1f5e22fb40e9964ec472beb3a9e126c7a1d0dc43a92298376

      Public Swagger UI/API detected at path: /api/swagger.json - sample paths:
      GET /api/AntiForgery/token
      GET /api/Consultants
      GET /api/GrowthStages
      GET /api/Products
      GET /api/Products/sprayplan
      GET /api/Products/used
      GET /api/Products/user
      GET /api/Products/user/{id}
      GET /api/SprayplanApplicationProducts/{id}
      GET /api/SprayplanApplications/{id}
      GET /api/SprayplanApplications/{id}/images
      GET /api/SprayplanGrowthStageProducts/{id}
      GET /api/SprayplanGrowthStages/{id}
      GET /api/Sprayplans
      GET /api/Sprayplans/suggested
      GET /api/Sprayplans/user
      GET /api/Sprayplans/user/exists
      GET /api/Sprayplans/user/years
      GET /api/Sprayplans/user/{id}
      GET /api/Sprayplans/{id}
      GET /api/Users
      GET /api/Users/current
      GET /api/Users/email
      GET /api/Users/settings
      GET /api/Varieties
      GET /api/Varieties/cultures
      GET /api/Varieties/template
      GET /api/Varieties/used
      GET /api/users/login
      GET /api/users/login-internal
      GET /api/users/logout
      POST /api/Products/own
      POST /api/Reports/ProductList
      POST /api/Reports/Sprayplan
      POST /api/SprayplanApplications/{id}/product
      POST /api/SprayplanGrowthStages/{id}/products
      POST /api/Sprayplans/user/{id}/application
      POST /api/Sprayplans/user/{id}/duplicate
      POST /api/Sprayplans/user/{id}/send
      POST /api/Sprayplans/{id}/duplicate
      POST /api/Sprayplans/{id}/growth-stage
      POST /api/Stations
      PUT /api/Products/user/purchase-amount
      PUT /api/SprayplanApplicationProducts/{id}/reset
      PUT /api/SprayplanApplications/{id}/active
      PUT /api/SprayplanApplications/{id}/done
      PUT /api/SprayplanApplications/{id}/leafwallHeight
      PUT /api/SprayplanApplications/{id}/reset
      PUT /api/SprayplanApplications/{id}/waterAmount
      PUT /api/SprayplanGrowthStageProducts/{id}/dosage
      PUT /api/SprayplanGrowthStages/{id}/leafwall-height
      PUT /api/SprayplanGrowthStages/{id}/recommended
      PUT /api/Sprayplans/exists
      PUT /api/Sprayplans/{id}/active
      Found on 2026-02-01 23:33
  • Open service 13.69.68.4:80 · planner.kx-digital.com

    2026-01-23 06:36

    HTTP/1.1 200 OK
    Content-Length: 51557
    Connection: close
    Content-Type: text/html
    Date: Fri, 23 Jan 2026 06:37:23 GMT
    Server: Kestrel
    Accept-Ranges: bytes
    ETag: "1dc81652368ba65"
    Last-Modified: Fri, 09 Jan 2026 12:40:30 GMT
    Set-Cookie: ARRAffinity=b87c761429bc30e309d58973173f72a619e2726193f23653cc3d7ef8f7e13e40;Path=/;HttpOnly;Domain=planner.kx-digital.com
    x-ms-middleware-request-id: 00000000-0000-0000-0000-000000000000
    Request-Context: appId=cid-v1:76cb3bd7-8d9b-43fb-ba0b-eb893e752f42
    
    Page title: KX Planner
    
    <!doctype html>
    <html lang="de-AT" translate="no" dir="ltr" data-critters-container>
      <head>
        <meta charset="utf-8">
        <title>KX Planner</title>
        <base href="/">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <link rel="icon" type="image/x-icon" href="favicon2.ico">
        <link rel="preconnect" href="https://fonts.googleapis.com">
        <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
        <style>@font-face{font-family:'Jost';font-style:normal;font-weight:300 700;font-display:swap;src:url(https://fonts.gstatic.com/s/jost/v20/92zatBhPNqw73oDd4iYl.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}@font-face{font-family:'Jost';font-style:normal;font-weight:300 700;font-display:swap;src:url(https://fonts.gstatic.com/s/jost/v20/92zatBhPNqw73ord4iYl.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}@font-face{font-family:'Jost';font-style:normal;font-weight:300 700;font-display:swap;src:url(https://fonts.gstatic.com/s/jost/v20/92zatBhPNqw73oTd4g.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}</style>
        <style>@font-face{font-family:'Material Icons';font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/materialicons/v145/flUhRq6tzZclQEJ-Vdg-IuiaDsNc.woff2) format('woff2');}.material-icons{font-family:'Material Icons';font-weight:normal;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:'liga';-webkit-font-smoothing:antialiased;}</style>
        <link rel="apple-touch-icon" href="apple-touch-icon.png">
        <link rel="icon" type="image/svg+xml" href="icon2.svg">
        <link rel="manifest" href="manifest.json">
    
        <!-- Google tag (gtag.js) -->
        <!-- G-DEFAULT loads the gtag-library but does not set the tracking ID -->
        <script async src="https://www.googletagmanager.com/gtag/js?id=G-DEFAULT"></script>
        <script>
          window.dataLayer = window.dataLayer || [];
          function gtag(){dataLayer.push(arguments);}
          gtag('js', new Date());
        </script>
      <style>@tailwind utilities;html{--mat-app-background-color:#faf9f9;--mat-app-text-color:#00160F;--mat-app-elevation-shadow-level-0:0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-1:0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-2:0px 3px 1px -2px rgba(0, 0, 0, .2), 0px 2px 2px 0px rgba(0, 0, 0, .14), 0px 1px 5px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-3:0px 3px 3px -2px rgba(0, 0, 0, .2), 0px 3px 4px 0px rgba(0, 0, 0, .14), 0px 1px 8px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-4:0px 2px 4px -1px rgba(0, 0, 0, .2), 0px 4px 5px 0px rgba(0, 0, 0, .14), 0px 1px 10px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-5:0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 5px 8px 0px rgba(0, 0, 0, .14), 0px 1px 14px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-6:0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-7:0px 4px 5px -2px rgba(0, 0, 0, .2), 0px 7px 10px 1px rgba(0, 0, 0, .14), 0px 2px 16px 1px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-8:0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-9:0px 5px 6px -3px rgba(0, 0, 0, .2), 0px 9px 12px 1px rgba(0, 0, 0, .14), 0px 3px 16px 2px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-10:0px 6px 6px -3px rgba(0, 0, 0, .2), 0px 10px 14px 1px rg
    Found 2026-01-23 by HttpPlugin
    Create report
  • Open service 13.69.68.4:443 · planner.kx-digital.com

    2026-01-22 23:00

    HTTP/1.1 200 OK
    Content-Length: 51557
    Connection: close
    Content-Type: text/html
    Date: Thu, 22 Jan 2026 23:01:18 GMT
    Server: Kestrel
    Accept-Ranges: bytes
    ETag: "1dc81652368ba65"
    Last-Modified: Fri, 09 Jan 2026 12:40:30 GMT
    Set-Cookie: ARRAffinity=b87c761429bc30e309d58973173f72a619e2726193f23653cc3d7ef8f7e13e40;Path=/;HttpOnly;Secure;Domain=planner.kx-digital.com
    Set-Cookie: ARRAffinitySameSite=b87c761429bc30e309d58973173f72a619e2726193f23653cc3d7ef8f7e13e40;Path=/;HttpOnly;SameSite=None;Secure;Domain=planner.kx-digital.com
    Strict-Transport-Security: max-age=2592000
    x-ms-middleware-request-id: 00000000-0000-0000-0000-000000000000
    Request-Context: appId=cid-v1:76cb3bd7-8d9b-43fb-ba0b-eb893e752f42
    
    Page title: KX Planner
    
    <!doctype html>
    <html lang="de-AT" translate="no" dir="ltr" data-critters-container>
      <head>
        <meta charset="utf-8">
        <title>KX Planner</title>
        <base href="/">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <link rel="icon" type="image/x-icon" href="favicon2.ico">
        <link rel="preconnect" href="https://fonts.googleapis.com">
        <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
        <style>@font-face{font-family:'Jost';font-style:normal;font-weight:300 700;font-display:swap;src:url(https://fonts.gstatic.com/s/jost/v20/92zatBhPNqw73oDd4iYl.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}@font-face{font-family:'Jost';font-style:normal;font-weight:300 700;font-display:swap;src:url(https://fonts.gstatic.com/s/jost/v20/92zatBhPNqw73ord4iYl.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}@font-face{font-family:'Jost';font-style:normal;font-weight:300 700;font-display:swap;src:url(https://fonts.gstatic.com/s/jost/v20/92zatBhPNqw73oTd4g.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}</style>
        <style>@font-face{font-family:'Material Icons';font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/materialicons/v145/flUhRq6tzZclQEJ-Vdg-IuiaDsNc.woff2) format('woff2');}.material-icons{font-family:'Material Icons';font-weight:normal;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:'liga';-webkit-font-smoothing:antialiased;}</style>
        <link rel="apple-touch-icon" href="apple-touch-icon.png">
        <link rel="icon" type="image/svg+xml" href="icon2.svg">
        <link rel="manifest" href="manifest.json">
    
        <!-- Google tag (gtag.js) -->
        <!-- G-DEFAULT loads the gtag-library but does not set the tracking ID -->
        <script async src="https://www.googletagmanager.com/gtag/js?id=G-DEFAULT"></script>
        <script>
          window.dataLayer = window.dataLayer || [];
          function gtag(){dataLayer.push(arguments);}
          gtag('js', new Date());
        </script>
      <style>@tailwind utilities;html{--mat-app-background-color:#faf9f9;--mat-app-text-color:#00160F;--mat-app-elevation-shadow-level-0:0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-1:0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-2:0px 3px 1px -2px rgba(0, 0, 0, .2), 0px 2px 2px 0px rgba(0, 0, 0, .14), 0px 1px 5px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-3:0px 3px 3px -2px rgba(0, 0, 0, .2), 0px 3px 4px 0px rgba(0, 0, 0, .14), 0px 1px 8px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-4:0px 2px 4px -1px rgba(0, 0, 0, .2), 0px 4px 5px 0px rgba(0, 0, 0, .14), 0px 1px 10px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-5:0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 5px 8px 0px rgba(0, 0, 0, .14), 0px 1px 14px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-6:0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-7:0px 4px 5px -2px rgba(0, 0, 0, .2), 0px 7px 10px 1px rgba(0, 0, 0, .14), 0px 2px 16px 1px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-8:0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-9:0px 5px 6px -3px rgba(0, 0, 0, .2), 0px 9px 12px 1px rgba(0, 0, 0, .14), 0px 3px 16px 2px rgba(0, 0, 0, .12);--mat-app-elevation-shadow-level-10:0px 6px 6px -3px rgba(0, 0, 0, .2), 0px 10px 14px 1px rg
    Found 2026-01-22 by HttpPlugin
    Create report
planner.kx-digital.com
CN:
planner.kx-digital.com
Not before:
2025-12-29 00:00
Not after:
2026-04-14 23:59
Domain summary
IP summary