maintainx-hello-world
A quick-start guide and script for creating your first MaintainX work order.
Install
mkdir -p .claude/skills/maintainx-hello-world && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/5426" && unzip -o skill.zip -d .claude/skills/maintainx-hello-world && rm skill.zipInstalls to .claude/skills/maintainx-hello-world
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Create a minimal working MaintainX example - your first work order.Key capabilities
- →Create basic work orders via REST API
- →Retrieve work order details for verification
- →List open work orders with filtering
- →Delete test work orders
- →Link work orders to assets and locations
How it works
It provides minimal boilerplate code and curl commands to interact with the MaintainX REST API for basic operations.
Inputs & outputs
When to use maintainx-hello-world
- →Testing API setup
- →Creating initial work orders
- →Learning MaintainX REST API patterns
- →Verifying authentication flow
About this skill
MaintainX Hello World
Overview
Create your first work order using the MaintainX REST API -- the core building block of CMMS operations.
Prerequisites
- Completed
maintainx-install-authsetup - Valid
MAINTAINX_API_KEYenvironment variable - Node.js 18+ or curl
Instructions
Step 1: Create a Work Order (curl)
curl -X POST https://api.getmaintainx.com/v1/workorders \
-H "Authorization: Bearer $MAINTAINX_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"title": "Hello World - Test Work Order",
"description": "First API-created work order. Safe to delete.",
"priority": "LOW",
"status": "OPEN"
}' | jq .
Expected response:
{
"id": 12345,
"title": "Hello World - Test Work Order",
"status": "OPEN",
"priority": "LOW",
"createdAt": "2026-03-19T12:00:00Z"
}
Step 2: Create a Work Order (TypeScript)
// hello-maintainx.ts
import { MaintainXClient } from './maintainx/client';
async function helloMaintainX() {
const client = new MaintainXClient();
// Create a basic work order
const { data: workOrder } = await client.createWorkOrder({
title: 'HVAC Filter Replacement - Building A',
description: 'Replace air filters in units 1-4 on the 3rd floor.',
priority: 'MEDIUM',
});
console.log('Created work order:', workOrder.id);
// Retrieve it back to confirm
const { data: fetched } = await client.getWorkOrder(workOrder.id);
console.log('Work order status:', fetched.status);
console.log('Created at:', fetched.createdAt);
// List open work orders
const { data: list } = await client.getWorkOrders({
status: 'OPEN',
limit: 5,
});
console.log(`Found ${list.workOrders.length} open work orders`);
}
helloMaintainX();
Step 3: Verify and Clean Up
# List recent work orders to confirm creation
curl -s "https://api.getmaintainx.com/v1/workorders?limit=3" \
-H "Authorization: Bearer $MAINTAINX_API_KEY" | jq '.workOrders[] | {id, title, status}'
# Delete the test work order (replace ID)
curl -X DELETE "https://api.getmaintainx.com/v1/workorders/12345" \
-H "Authorization: Bearer $MAINTAINX_API_KEY"
Output
- Working code file that creates a MaintainX work order via REST API
- Console output showing the created work order ID, status, and timestamp
- Verified retrieval of the created work order
Error Handling
| Error | Cause | Solution |
|---|---|---|
| 400 Bad Request | Missing required title field | Include at least title in the POST body |
| 401 Unauthorized | Invalid API key | Check MAINTAINX_API_KEY environment variable |
| 403 Forbidden | Plan limitations | Verify API access on your subscription |
| 422 Unprocessable | Invalid enum value | Use valid priority (NONE, LOW, MEDIUM, HIGH) |
Resources
- MaintainX API Reference
- Work Orders Help
Next Steps
Proceed to maintainx-local-dev-loop for development workflow setup.
Examples
Create a work order tied to an asset:
const wo = await client.createWorkOrder({
title: 'Conveyor Belt #7 - Bearing Replacement',
description: 'Replace worn bearings on the main drive shaft.',
priority: 'HIGH',
assetId: 98765, // Link to equipment asset
locationId: 54321, // Link to facility location
assignees: [{ type: 'USER', id: 111 }],
dueDate: '2026-03-25T17:00:00Z',
});
Create a work order from a preventive maintenance template:
curl -X POST https://api.getmaintainx.com/v1/workorders \
-H "Authorization: Bearer $MAINTAINX_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"title": "Monthly Fire Extinguisher Inspection",
"priority": "MEDIUM",
"categories": ["PREVENTIVE"],
"procedureId": 7890
}'
When not to use it
- →Complex enterprise-level workflow management
- →Production-grade error handling
Prerequisites
Limitations
- →Requires valid API key
- →Subject to plan-specific API access limitations
How it compares
It offers a simplified, minimal entry point for testing API patterns compared to full-scale integration development.
Compared to similar skills
maintainx-hello-world side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| maintainx-hello-world (this skill) | 1 | 27d | Review | Beginner |
| run-api-e2e-tests | 7 | 6mo | Review | Beginner |
| http-generate | 1 | 7mo | Review | Intermediate |
| twinmind-local-dev-loop | 1 | 27d | Caution | Beginner |
Try saying
Example prompts that trigger this skill in your AI assistant.
More by jeremylongshore
View all by jeremylongshore →You might also like
run-api-e2e-tests
novuhq
Run e2e tests for the API service. Use when the user wants to run API E2E tests.
http-generate
spring-ai-alibaba
Generates HTTP request examples for Spring Boot Web interfaces according to task specification and saves them as .http files in module-generate.md directories
twinmind-local-dev-loop
jeremylongshore
Set up local development workflow with TwinMind API integration. Use when building applications that integrate TwinMind transcription, testing API calls locally, or developing meeting automation tools. Trigger with phrases like "twinmind dev setup", "twinmind local development", "twinmind API testing", "build with twinmind".
write-test
useautumn
Write integration tests for the Autumn billing system. Use when creating tests, writing test scenarios for billing/subscription features, track/check endpoints, or when the user asks about testing, test cases, or QA.
deepgram-hello-world
jeremylongshore
Create a minimal working Deepgram transcription example. Use when starting a new Deepgram integration, testing your setup, or learning basic Deepgram API patterns. Trigger with phrases like "deepgram hello world", "deepgram example", "deepgram quick start", "simple transcription", "transcribe audio".
groq-hello-world
jeremylongshore
Create a minimal working Groq example. Use when starting a new Groq integration, testing your setup, or learning basic Groq API patterns. Trigger with phrases like "groq hello world", "groq example", "groq quick start", "simple groq code".