Skip to content

Repository files navigation

IBM Maximo 7.x, 8.x, MAS 9.x — API Collections

The most comprehensive Postman collection suite for IBM Maximo Application Suite APIs

License: MIT Postman OpenAPI Maximo Version Endpoints PRs Welcome

2,439+ endpoints across 14 modules with complete OSLC and REST API coverage.

Quick Start · Deployment · API Patterns · Contributing


Table of Contents


Overview

Production-ready Postman collections for IBM Maximo Application Suite (MAS) APIs. Covers both the legacy OSLC and modern NextGen REST API patterns.

Key Metrics

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

Quick Start

Prerequisites

  • Postman desktop or web app (or Newman for CLI)
  • IBM Maximo MAS 9.x instance with API access enabled
  • API key with appropriate permissions

1. Import Collections into Postman

# 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/

2. Set Up Environment

Create a Postman environment with these variables:

Variable Value Type
baseUrl https://your-instance.maximo.com/maximo default
apikey your-api-key-here secret

3. Make Your First Request

GET {{baseUrl}}/api/os/mxapiwodetail?oslc.select=wonum,description,status&oslc.pageSize=5&lean=1

Collection Generations

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

MAS 9 Collections

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)

Deployment

Automated Deployment with Newman

The autoscripts.json collection provides a complete CI/CD pipeline for deploying automation scripts via API.

Install Newman

npm install -g newman

Deploy All Scripts

# 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"

Other Operations

# 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)"

Deployment Pipeline Folders

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

Post-Deployment: Launch Point Fix

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.


API Patterns

Maximo exposes two API patterns for the same resources. Both are fully covered.

OSLC API (/oslc/os/)

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

REST API (/api/os/)

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 PATCH returns 501 Not Implemented on MAS 9. Use POST with x-method-override: PATCH and patchtype: MERGE headers instead.

Common Query Parameters

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=1 to get minimal JSON with only data fields — no URL noise or internal metadata. Especially useful when exporting complex nested objects (e.g., workflows via mxapiwfprocess).


Module Coverage

Tier 1 — Core Operations

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

Tier 2 — Extended Operations

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

Tier 3 — Administrative & Financial

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

Authentication

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

Project Structure

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)

API Behavior Notes

PATCH Returns 501

MAS 9 REST API does not support native HTTP PATCH. Use POST with headers:

x-method-override: PATCH
patchtype: MERGE

Launch Point Event Codes

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.

SCRIPTLAUNCHPOINT Column Names

The SCRIPTLAUNCHPOINT table in SQL Server uses lowercase column names. ADD is a reserved word — use bracket syntax [ADD] in raw SQL queries.

Launch Point Name Length

SCRIPTLAUNCHPOINT.LAUNCHPOINTNAME has a 30-character maximum. Plan naming conventions accordingly.


Troubleshooting

Connection Issues

  • Verify {{baseUrl}} includes the full path: https://your-instance.maximo.com/maximo
  • Check network/VPN connectivity
  • Increase request timeout in Postman Settings

Authentication Errors (401)

  • Verify API key is valid and not expired
  • Ensure the apikey header name matches your instance configuration
  • Confirm the Postman environment variable {{apikey}} is set

OSLC Query Errors (400)

  • Enclose string values in double quotes: status="WAPPR"
  • Check OSLC where clause syntax
  • Test with a simple query first

Script Deployment Errors (400)

  • 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.

FAQ

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"

Security

Credential Safety

  • Never commit API keys or passwords to version control
  • All collections use {{apikey}} environment variable — no hardcoded credentials
  • The .gitignore excludes environment files, credentials, and discovery artifacts
  • OAS3 specs are git-ignored as they contain instance-specific information

Reporting Vulnerabilities

  1. Do not open a public GitHub issue
  2. Open a private security advisory on the repository
  3. We will acknowledge receipt within 48 hours

Contributing

See CONTRIBUTING.md for full guidelines.

  1. Fork the repository
  2. Create a branch: git checkout -b add-module-CODE
  3. Add collections for both OSLC and REST patterns
  4. Test against a live Maximo instance
  5. Submit a Pull Request

License

This project is licensed under the MIT License — see the LICENSE file for details.


Back to Top

Built for the Maximo community — comprehensive API collections for IBM Maximo.

About

The most comprehensive Postman collection suite for IBM Maximo (7.x, 8.x, MAS 9.x) — 2,439+ endpoints across 14 modules with full OSLC & REST coverage.

Resources

Contributing

Stars

15 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors