Get Help Open Postman

The API Lifecycle

Course 1 of 6 in Architect Learning Path

Learn about the most common areas of the API lifecycle and what to expect in the API Producer Learning Path

rate limit

Code not recognized.

About this module

In this module, you will learn about:

  • The most common areas of the API lifecycle seen across Postman’s global users
  • What to expect in the API Producer Learning Path

Chapters20 mins

  • The API lifecycle
  • API Producer lifecycle overview
  • The API Producer Learning Path
  • Learning path overview
  • Test your knowledge
  • Quiz: API Producer Lifecycle
  • Wrapping up
  • Resources
  • Recap

About this module

In this module, you will learn about:

  • The most common areas of the API lifecycle seen across Postman’s global users
  • What to expect in the API Producer Learning Path

Chapters20 mins

  • The API lifecycle
  • API Producer lifecycle overview
  • The API Producer Learning Path
  • Learning path overview
  • Test your knowledge
  • Quiz: API Producer Lifecycle
  • 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); } } }); <>