Get Help Open Postman

[V10] Simulate API endpoints with a mock server

Learn how to simulate API endpoints with a mock server when you do not have a production API ready, or you do not want to run your requests against real data yet

rate limit

Code not recognized.

About this module

In this module, you will learn how to: 

  • Generate a collection and mock server from schema
  • Simulate API endpoints with a mock server
  • Create and save examples for the mock server to return

Chapters30 mins

  • Mocking
  • Mock servers
  • Test your knowledge
  • Quiz: Simulate API end points with a mock server
  • Challenge: Simulate an API with a mock server
  • Solution: Simulate an API with a mock server
  • Wrapping up
  • Resources
  • Recap

About this module

In this module, you will learn how to: 

  • Generate a collection and mock server from schema
  • Simulate API endpoints with a mock server
  • Create and save examples for the mock server to return

Chapters30 mins

  • Mocking
  • Mock servers
  • Test your knowledge
  • Quiz: Simulate API end points with a mock server
  • Challenge: Simulate an API with a mock server
  • Solution: Simulate an API with a mock server
  • 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); } } }); <>