postmanBuild, test, and automate APIs with Postman collections, environments, and Newman CLI.
Install via ClawdBot CLI:
clawdbot install ivangdavila/postmanInstall Newman (npm):
Install Newman (npm)Requires:
If ~/postman/ doesn't exist, read setup.md silently and start naturally.
User needs to test APIs, create Postman collections, manage environments, or run automated API tests with Newman.
Data lives in ~/postman/. See memory-template.md for structure.
~/postman/
āāā memory.md # Projects, preferences, common patterns
āāā collections/ # Postman collection JSON files
āāā environments/ # Environment JSON files
| Topic | File |
|-------|------|
| Setup | setup.md |
| Memory template | memory-template.md |
| Collection format | collections.md |
| Newman automation | newman.md |
Before creating requests, define the collection structure:
Users > Create User, not POST 1Never hardcode values that change between environments:
{
"key": "base_url",
"value": "https://api.example.com",
"enabled": true
}
Use {{base_url}} in requests. Environments: dev, staging, prod.
Handle authentication in pre-request scripts, not manually:
// Get token and set for collection
pm.sendRequest({
url: pm.environment.get("auth_url"),
method: 'POST',
body: { mode: 'raw', raw: JSON.stringify({...}) }
}, (err, res) => {
pm.environment.set("token", res.json().access_token);
});
Every request needs at least basic assertions:
pm.test("Status 200", () => pm.response.to.have.status(200));
pm.test("Has data", () => pm.expect(pm.response.json()).to.have.property("data"));
Run collections headlessly with Newman:
newman run collection.json -e environment.json --reporters cli,json
Exit code 0 = all tests passed. Integrate into CI pipelines.
{
"info": {
"name": "My API",
"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
},
"item": [
{
"name": "Get Users",
"request": {
"method": "GET",
"url": "{{base_url}}/users",
"header": [
{ "key": "Authorization", "value": "Bearer {{token}}" }
]
}
}
]
}
{
"name": "Create User",
"request": {
"method": "POST",
"url": "{{base_url}}/users",
"body": {
"mode": "raw",
"raw": "{\"name\": \"{{$randomFullName}}\", \"email\": \"{{$randomEmail}}\"}",
"options": { "raw": { "language": "json" } }
}
},
"event": [
{
"listen": "test",
"script": {
"exec": [
"pm.test('Created', () => pm.response.to.have.status(201));",
"pm.test('Has ID', () => pm.expect(pm.response.json().id).to.exist);"
]
}
}
]
}
{
"name": "Development",
"values": [
{ "key": "base_url", "value": "http://localhost:3000", "enabled": true },
{ "key": "token", "value": "", "enabled": true }
]
}
| Task | Command |
|------|---------|
| Basic run | newman run collection.json |
| With environment | newman run collection.json -e dev.json |
| Specific folder | newman run collection.json --folder "Users" |
| Iterations | newman run collection.json -n 10 |
| Data file | newman run collection.json -d data.csv |
| HTML report | newman run collection.json -r htmlextra |
| Bail on fail | newman run collection.json --bail |
{{base_url}}.setNextRequest() explicitly or make tests independent.Content-Type: application/json.Postman built-in variables for test data:
| Variable | Example Output |
|----------|----------------|
| {{$randomFullName}} | "Jane Doe" |
| {{$randomEmail}} | "jane@example.com" |
| {{$randomUUID}} | "550e8400-e29b-..." |
| {{$timestamp}} | 1234567890 |
| {{$randomInt}} | 42 |
Import OpenAPI/Swagger specs:
Or via CLI:
npx openapi-to-postmanv2 -s openapi.yaml -o collection.json
Data that stays local:
~/postman/This skill does NOT:
Install with clawhub install if user confirms:
api ā REST API consumption patternsjson ā JSON manipulation and validationci-cd ā Pipeline automationclawhub star postmanclawhub syncGenerated Mar 1, 2026
Developers use Postman to create collections for testing product, order, and payment APIs. They manage environments for dev, staging, and prod, and run Newman in CI/CD pipelines to ensure API reliability before deployments.
Teams in a microservices architecture use Postman to automate tests for inter-service communication. Collections validate endpoints across services, with pre-request scripts handling authentication and assertions checking response integrity.
Backend engineers build and test REST APIs for mobile apps using Postman collections. They simulate user flows like login, data fetching, and updates, leveraging dynamic variables for test data and environment variables for different deployment stages.
SaaS companies use Postman to integrate and test third-party APIs, such as payment gateways or CRM systems. Collections automate validation of API responses and error handling, with Newman runs scheduled for monitoring API health.
Instructors create Postman collections as teaching tools for API courses, demonstrating request structures, authentication, and testing. Students use these collections to practice API interactions in a controlled, repeatable manner.
Offer a free version of Postman for basic API testing, with premium features like advanced collaboration, monitoring, and analytics for teams. Revenue comes from subscription plans for enterprises and large development teams.
Provide consulting services to help businesses design, test, and automate their APIs using Postman and Newman. Revenue is generated through project-based fees or retainer models for ongoing API maintenance and optimization.
Develop and sell training courses and certifications on API testing with Postman. Revenue streams include course enrollment fees, certification exams, and corporate training packages for upskilling development teams.
š¬ Integration Tip
Integrate Newman into CI/CD pipelines using exit codes to fail builds on test failures, and use environment variables to manage secrets securely across different deployment stages.
Use the @steipete/oracle CLI to bundle a prompt plus the right files and get a second-model review (API or browser) for debugging, refactors, design checks, or cross-validation.
Manage Things 3 via the `things` CLI on macOS (add/update projects+todos via URL scheme; read/search/list from the local Things database). Use when a user asks Clawdbot to add a task to Things, list inbox/today/upcoming, search tasks, or inspect projects/areas/tags.
Local search/indexing CLI (BM25 + vectors + rerank) with MCP mode.
Use when designing database schemas, writing migrations, optimizing SQL queries, fixing N+1 problems, creating indexes, setting up PostgreSQL, configuring EF Core, implementing caching, partitioning tables, or any database performance question.
Connect to Supabase for database operations, vector search, and storage. Use for storing data, running SQL queries, similarity search with pgvector, and managing tables. Triggers on requests involving databases, vector stores, embeddings, or Supabase specifically.
Query, design, migrate, and optimize SQL databases. Use when working with SQLite, PostgreSQL, or MySQL ā schema design, writing queries, creating migrations, indexing, backup/restore, and debugging slow queries. No ORMs required.