There was an issue with saving this content. Please try again.
There was an issue with removing this item from your saved content. Please try again.
API Documentation Path
Clear and comprehensive API documentation is the backbone of effective API consumption and integration. If you're new to Postman, or want to seriously enhance your documentation, then you need to take this path! After covering the basics, you'll learn how to create numerous forms of documentation.
[Archived] Collection-based API monitoring
Learn how to use Postman monitors to observe the performance and availability of your APIs
FREE
20 mins
Enterprise Essentials
Testing
QA Engineers
API Engineers
Enterprise Essentials: Internal API Management
Enterprise Essentials: API Test Automation
Enterprise Ultimate
Intermediate
[Demo] Module one: Discovering and Evaluating APIs
FREE
[DEPRECATED] Collaboratively discovering and evaluating APIs with Postman v10
In this module, you'll learn how to set up workspaces, invite teammates and collaborate together to discover and evaluate APIs. Building upon this foundation, you'll see how to use variables, including scopes, types, and initial vs. current values.
FREE
[DEPRECATED] Documentation: The key to painless API adoption with Postman v10
Proper documentation is the cornerstone of ensuring swift and easy adoption of your API. You can also use documentation to identify available endpoints and how to successfully interact with them. In this module, you'll learn how to accomplish all of this, as well as forking and merging collections and environments for more effective collaboration in Postman.
FREE
[DEPRECATED] Simplifying your API testing with Postman with Postman v10
Testing at it's most basic level is an opportunity to verify that your APIs work as expected. In this module, you'll learn to use test snippets, write your own tests and use the collection runner to accomplish that very goal.
FREE
[Observe] Reporting
Learn about how reports enable you to analyze how your team uses Postman, give you insights into the state of your APIs, and track performance and SLA adherence
FREE
3 min
<
>
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);
}
}
});
<>