Get Help Open Postman

Challenge: Collection-based API monitoring

Learn how to use Postman monitors to observe the performance and availability of your APIs

rate limit

Code not recognized.

About this module

In this module, you will learn how to: 

  • Schedule and run a monitor
  • Use environments with monitors
  • Run a monitor via a Static IP
  • Run a monitor from one of 6 regions
  • Customize monitor behavior
  • Set custom monitoring schedules
  • Trigger a monitoring run via webhook
  • Check API's performance, behavior, and response time with monitors
  • Get notified of run failures
  • View monitor results
  • View response time
  • View requests and responses in Postman Console log
  • View response for a specific region

Chapters50 mins

  • Hands-on challenge
  • Challenge: Monitor the health of an API
  • Solution: Monitor the health of an API
  • Post-Challenge: Clean-up
  • Wrapping up
  • Resources
  • Recap

About this module

In this module, you will learn how to: 

  • Schedule and run a monitor
  • Use environments with monitors
  • Run a monitor via a Static IP
  • Run a monitor from one of 6 regions
  • Customize monitor behavior
  • Set custom monitoring schedules
  • Trigger a monitoring run via webhook
  • Check API's performance, behavior, and response time with monitors
  • Get notified of run failures
  • View monitor results
  • View response time
  • View requests and responses in Postman Console log
  • View response for a specific region

Chapters50 mins

  • Hands-on challenge
  • Challenge: Monitor the health of an API
  • Solution: Monitor the health of an API
  • Post-Challenge: Clean-up
  • Wrapping up
  • Resources
  • Recap
<> document.addEventListener('DOMContentLoaded', function () { try { var groups = window.skilljarUserStudentGroups; // Validate Skilljar group array if (!Array.isArray(groups) || groups.length === 0) { return; // No groups → show no logo } var suffix = '-portal'; var portalGroups = []; // Collect all groups whose name ends with "-portal" (case-insensitive) groups.forEach(function (g) { if (!g || !g.name) return; var nameLower = String(g.name).trim().toLowerCase(); if (nameLower.endsWith(suffix)) { portalGroups.push(g); } }); // No portal groups → show no logo if (portalGroups.length === 0) { return; } // Allowlist of supported portal slugs var allowedCompanies = ['postman', 'acme', 'contoso']; // Extend this list as new portal customers are added // Insert a logo for each portal group found portalGroups.forEach(function (pg) { var nameLower = pg.name.trim().toLowerCase(); // Strip "-portal" suffix var baseName = nameLower.slice(0, nameLower.length - suffix.length); // Normalize slug var slug = baseName .trim() .replace(/\s+/g, '-') // spaces → hyphens .replace(/[^a-z0-9-]/g, ''); // remove invalid chars if (!slug || allowedCompanies.indexOf(slug) === -1) { return; } insertLogo(slug); }); // ----------------------------------------- // Insert Logo Helper // (NO default fallback — slug must match) // ----------------------------------------- function insertLogo(slug) { var container = document.getElementById('customer-portal-logo'); if (!container) return; var elem = document.createElement('img'); elem.setAttribute('alt', 'Logo'); // Map slug → logo asset (examples) switch (slug) { case 'acme': elem.setAttribute('src', 'https://example.com/logos/acme-portal-logo.png'); elem.setAttribute('width', '375'); elem.setAttribute('height', '80'); break; case 'contoso': elem.setAttribute('src', 'https://example.com/logos/contoso-portal-logo.png'); elem.setAttribute('width', '349'); elem.setAttribute('height', '65'); break; case 'postman': elem.setAttribute('src', 'https://everpath-course-content.s3-accelerate.amazonaws.com/instructor%2Fc3jrngphf22ys6kxwfiw0g9kk%2Fpublic%2F1672880408%2Fpostman-orange-logo.1672880408868.png'); elem.setAttribute('width', '370'); break; default: return; // Do nothing — no logo } container.appendChild(elem); } } catch (e) { if (window.console && console.warn) { console.warn('Portal logo init failed', e); } } }); <>