2,439+ endpoints across 14 modules with complete OSLC and REST API coverage.
- Overview
- Quick Start
- Collection Generations
- API Patterns
- Deployment
- Module Coverage
- Authentication
- Project Structure
- API Behavior Notes
- Troubleshooting
- FAQ
- Security
- Contributing
- License
Production-ready Postman collections for IBM Maximo Application Suite (MAS) APIs. Covers both the legacy OSLC and modern NextGen REST API patterns.
| Metric | Value |
|---|---|
| Collection Generations | 2 (Original + MAS 9) |
| Total Modules | 14 (of 18 discovered) |
| Original OSLC Endpoints | 738 |
| Original REST Endpoints | 570 |
| MAS 9 OSLC Requests | ~1,011 |
| MAS 9 REST Requests | ~1,131 |
- Postman desktop or web app (or Newman for CLI)
- IBM Maximo MAS 9.x instance with API access enabled
- API key with appropriate permissions
# For MAS 9 collections (recommended)
File > Import > Select all files from postman-mas9-oslc/ or postman-mas9-rest/
# For original 7.x/8.x collections
File > Import > Select all files from postman-oslc/ or postman-rest/Create a Postman environment with these variables:
| Variable | Value | Type |
|---|---|---|
baseUrl |
https://your-instance.maximo.com/maximo |
default |
apikey |
your-api-key-here |
secret |
GET {{baseUrl}}/api/os/mxapiwodetail?oslc.select=wonum,description,status&oslc.pageSize=5&lean=1
This project contains two generations of Postman collections:
| Generation | Directories | Target | Modules | Notes |
|---|---|---|---|---|
| Original | postman-oslc/, postman-rest/ |
Maximo 7.x / 8.x | 14 | Auto-generated from OAS3 specs |
| MAS 9 | postman-mas9-oslc/, postman-mas9-rest/ |
MAS 9.x | 13 | Enhanced with admin and setup |
The MAS 9 collections include significantly more requests per module and add new capabilities:
| Collection | Requests | Description |
|---|---|---|
ADMIN.json |
38 | Administration and script execution |
SETUP.json |
195 | Full administration (domains, cron, actions) |
WO.json |
165 | Work Orders with 38+ action calls |
ASSET.json |
196 | Asset management |
INVENTOR.json |
81 | Inventory management |
PURCHASE.json |
84 | Purchase orders and requests |
SD.json |
50 | Service Desk |
UTIL.json |
110 | System configuration and utilities |
PLANS.json |
19 | Job Plans |
PM.json |
19 | Preventive Maintenance |
CONTRACT.json |
18 | Contracts |
FINANCIAL.json |
18 | Financial |
INT.json |
18 | Integration |
autoscripts.json |
120 | Unified script deployment pipeline (REST only) |
The autoscripts.json collection provides a complete CI/CD pipeline for deploying automation scripts via API.
npm install -g newman# Step 1: Deploy scripts and launch points
newman run postman-mas9-rest/autoscripts.json \
-e your-environment.json \
--folder "1. Deploy All Scripts"
# Step 2: Set up cron task definitions
newman run postman-mas9-rest/autoscripts.json \
-e your-environment.json \
--folder "5. Cron Task Setup"# Verify all scripts exist
newman run postman-mas9-rest/autoscripts.json \
-e your-environment.json \
--folder "2. Verify All"
# Update source code on existing scripts
newman run postman-mas9-rest/autoscripts.json \
-e your-environment.json \
--folder "3. Update Source Code"
# Rollback (delete all scripts)
newman run postman-mas9-rest/autoscripts.json \
-e your-environment.json \
--folder "4. Rollback (Delete)"| Folder | Requests | Description |
|---|---|---|
| 1. Deploy All Scripts | 29 | Creates script + launch point(s) in one API call |
| 2. Verify All | 29 | Confirms each script exists with its launch point |
| 3. Update Source Code | 29 | Push source changes to existing scripts |
| 4. Rollback (Delete) | 29 | Delete scripts and their launch points |
| 5. Cron Task Setup | 3 | Create cron task definitions |
The Maximo REST API has a known limitation where objectevent values are recomputed from boolean flags, preventing direct setting of After Save (objectevent=7) timing. After deploying, a utility script (UTIL.FIX.LAUNCHPOINT) can be deployed and executed to fix this via direct SQL.
See API Behavior Notes for details.
Maximo exposes two API patterns for the same resources. Both are fully covered.
GET /oslc/os/{resource} # List (paginated)
GET /oslc/os/{resource}/{id} # Get by ID
POST /oslc/os/{resource} # Create
POST /oslc/os/{resource}/{id} # Update (x-method-override: PATCH)
DELETE /oslc/os/{resource}/{id} # Delete
GET /api/os/{resource} # List (paginated)
GET /api/os/{resource}/{id} # Get by ID
POST /api/os/{resource} # Create
PATCH /api/os/{resource}/{id} # Update (native PATCH — returns 501, use OSLC method)
DELETE /api/os/{resource}/{id} # Delete
Note: Native
PATCHreturns501 Not Implementedon MAS 9. UsePOSTwithx-method-override: PATCHandpatchtype: MERGEheaders instead.
| Parameter | Example | Description |
|---|---|---|
oslc.select |
wonum,description,status |
Select specific fields |
oslc.where |
status="APPR" |
Filter records |
oslc.pageSize |
20 |
Records per page |
oslc.orderBy |
+wonum |
Sort order (+ asc, - desc) |
lean |
1 |
Compact response — strips namespace prefixes (recommended) |
collectioncount |
1 |
Include total record count |
ignorecollectionref |
1 |
Strips *_collectionref URL fields from response |
ignorekeyref |
1 |
Strips href and localref URL fields from response |
ignorers |
1 |
Strips _rowstamp fields from response |
Clean response tip: Combine
lean=1&ignorecollectionref=1&ignorekeyref=1&ignorers=1to get minimal JSON with only data fields — no URL noise or internal metadata. Especially useful when exporting complex nested objects (e.g., workflows viamxapiwfprocess).
| Module | Code | OSLC | REST | Primary Resource |
|---|---|---|---|---|
| Work Orders | WO | 166 | 166 | mxapiwodetail |
| Assets | ASSET | 118 | 118 | mxapiasset |
| Inventory | INVENTOR | 60 | 60 | mxapiinventory |
| Service Desk | SD | 52 | 52 | mxapisr |
| Module | Code | OSLC | REST | Primary Resource |
|---|---|---|---|---|
| Purchasing | PURCHASE | 45 | 45 | mxapipo, mxapipr |
| Utilities | UTIL | 57 | 57 | mxapiperson |
| Preventive Maintenance | PM | 6 | 6 | mxapipm |
| Job Plans | PLANS | 11 | 11 | mxapijobplan |
| Module | Code | OSLC | REST | Primary Resource |
|---|---|---|---|---|
| Financial | FINANCIAL | 62 | 20 | mxapicoa |
| Contracts | CONTRACT | 52 | 10 | mxapicontract |
| IT Infrastructure | CI | 52 | 10 | mxapiauthci |
| Company | COMPANY | 47 | 5 | mxapicommodity |
| Analytics | ANALYTICS | 5 | 5 | mxapikpigraphic |
| Scheduler | SCHEDULER | 5 | 5 | mxapilbslocation |
All collections use API key authentication via the apikey HTTP header:
Header: apikey: <your-api-key>
| Mode | Header | Use Case |
|---|---|---|
| API Key (recommended) | apikey: your-key |
Automation, CI/CD |
| Basic Auth | Authorization: Basic base64(user:pass) |
Development |
| LTPA Token | Cookie: LtpaToken2=... |
Browser sessions |
maximo-interfaces/
├── README.md
├── CONTRIBUTING.md
├── LICENSE
├── .gitignore
├── maximo-api-catalog.json # 18-module API catalog
│
├── postman-oslc/ # Original OSLC collections (14 modules)
├── postman-rest/ # Original REST collections (14 modules)
│
├── postman-mas9-oslc/ # MAS 9 OSLC collections (13 modules)
│ ├── ADMIN.json # Administration
│ ├── SETUP.json # Full administration (195 requests)
│ ├── WO.json # Work Orders (165 requests)
│ └── ... # 10 more module files
│
├── postman-mas9-rest/ # MAS 9 REST collections (13 + deployment)
│ ├── autoscripts.json # Unified deployment pipeline (120 requests)
│ └── ... # 13 module files (same as OSLC)
│
├── postman-mas9-environment/ # Postman environment (git-ignored)
└── api-discovery/ # OAS3 specs & discovery (git-ignored)
MAS 9 REST API does not support native HTTP PATCH. Use POST with headers:
x-method-override: PATCH
patchtype: MERGE
The mxapiautoscript API uses SCRIPTLAUNCHPOINT.OBJECTEVENT (INTEGER) to control script timing:
| objectevent | Meaning | How to Set via API |
|---|---|---|
| 0 | None | Default for ACTION/ATTRIBUTE types |
| 1 | Initialize | initialize: true in launch point body |
| 4 | Save (generic) | update: true only |
| 6 | Before Save | add: true + update: true + beforesave: true |
| 7 | After Save | Cannot be set via API — requires direct SQL |
| 8 | After Commit | Set via attributeevent: 1 (Run Action) |
Known limitation: The mxapiautoscript Application Object Structure recomputes objectevent from boolean flags during MBO save. The aftersave and runaction boolean flags are silently ignored. Use numeric attributeevent for attribute launch points.
The SCRIPTLAUNCHPOINT table in SQL Server uses lowercase column names. ADD is a reserved word — use bracket syntax [ADD] in raw SQL queries.
SCRIPTLAUNCHPOINT.LAUNCHPOINTNAME has a 30-character maximum. Plan naming conventions accordingly.
- Verify
{{baseUrl}}includes the full path:https://your-instance.maximo.com/maximo - Check network/VPN connectivity
- Increase request timeout in Postman Settings
- Verify API key is valid and not expired
- Ensure the
apikeyheader name matches your instance configuration - Confirm the Postman environment variable
{{apikey}}is set
- Enclose string values in double quotes:
status="WAPPR" - Check OSLC
whereclause syntax - Test with a simple query first
- Duplicate script name — Script already exists. Use the Update folder instead.
- Launch point name too long — Max 30 characters. Shorten the name.
- Invalid attribute — The attribute doesn't exist on the target object in your instance.
Which Maximo versions are supported?
These collections target IBM MAS 9.x. The original collections (postman-oslc/, postman-rest/) may work with Maximo 7.6.1.x instances with REST API enabled.
What's the difference between OSLC and REST collections?
Both access the same data. OSLC uses /oslc/os/ paths with POST + x-method-override for updates. REST uses /api/os/ paths. Note: native PATCH returns 501 on MAS 9, so both patterns effectively use the same update mechanism.
Can I use Newman for CI/CD deployment?
Yes. The autoscripts.json collection is designed for Newman-based deployment:
npm install -g newman
newman run postman-mas9-rest/autoscripts.json -e your-env.json --folder "1. Deploy All Scripts"- Never commit API keys or passwords to version control
- All collections use
{{apikey}}environment variable — no hardcoded credentials - The
.gitignoreexcludes environment files, credentials, and discovery artifacts - OAS3 specs are git-ignored as they contain instance-specific information
- Do not open a public GitHub issue
- Open a private security advisory on the repository
- We will acknowledge receipt within 48 hours
See CONTRIBUTING.md for full guidelines.
- Fork the repository
- Create a branch:
git checkout -b add-module-CODE - Add collections for both OSLC and REST patterns
- Test against a live Maximo instance
- Submit a Pull Request
This project is licensed under the MIT License — see the LICENSE file for details.
Built for the Maximo community — comprehensive API collections for IBM Maximo.