canonical: https://jentic.com/apis/upkeep.com/upkeep

# UpKeep Maintenance Management API

UpKeep API for managing work orders, assets, locations, and maintenance requests. Supports session token-based authentication for CMMS operations. The API exposes 10 endpoints.

## For AI agents

Programmatically login and obtain session token, logout and invalidate session token. Covers 10 operations.

## Scope

Does not handle payments, communications, or crm - use for identity and authentication only.

## Capabilities

- Login and obtain session token
- Logout and invalidate session token
- List work orders
- Create a work order
- Change work order status
- Get a particular asset

## Use cases

### Identity and Authentication Operations

Use the UpKeep Maintenance Management API to perform identity auth operations programmatically. The API provides 10 endpoints covering core functionality including login and obtain session token, logout and invalidate session token, list work orders.

Example prompt: Call POST /login to login and obtain session token

### Automated Assets Management

Automate assets operations by combining multiple UpKeep Maintenance Management API endpoints. Agents can logout and invalidate session token and then list work orders in a single workflow.

Example prompt: Call POST /logout to logout and invalidate session token, then verify the result

### AI Agent Integration via Jentic

AI agents discover and call UpKeep Maintenance Management API endpoints through Jentic without managing credentials directly. An agent searches for the required operation by intent, receives the matching endpoint schema, and executes the call with Jentic-managed authentication. This eliminates the need to read API documentation or handle none tokens manually.

Example prompt: Search Jentic for 'login and obtain session token', load the operation schema, and execute with Jentic-managed credentials

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/login` | Login and obtain session token |
| POST | `/logout` | Logout and invalidate session token |
| POST | `/workorders` | List work orders |
| POST | `/workorder` | Create a work order |
| POST | `/workorder-status` | Change work order status |
| POST | `/assets` | List assets |
| POST | `/assets/{id}` | Get a particular asset |
| POST | `/locations` | List locations |

## Key resources

- **Assets** — Operations related to Assets
- **Authentication** — Operations related to Authentication
- **Locations** — Operations related to Locations
- **Requests** — Operations related to Requests
- **Work Orders** — Operations related to Work Orders

## Why Jentic

- **Setup:** Wiring the UpKeep Maintenance Management API by hand means running its login flow to obtain a session token, threading that token through every work-order and asset call, and refreshing it yourself. Through Jentic you install once, import UpKeep from the API Directory, store the credential once, and your agent calls it.
- **Permission scoping:** UpKeep puts the asset id in the URL path (`/assets/{id}`), so a rule can pin your agent to reading and updating a specific asset while still allowing it the work-order operations you list. You choose the operations it may call, so nothing beyond creating or updating work orders and reading assets runs unless you add it.
- **Credential handling:** Your UpKeep credential is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'log in and obtain a session token' or 'create a work order', and Jentic returns the matching UpKeep operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Auth0** — Alternative identity auth API
- **Okta** — Alternative identity auth API

## FAQ

### What authentication does the UpKeep Maintenance Management API use?

The UpKeep Maintenance Management API uses no authentication. Through Jentic, these credentials are stored encrypted in your Jentic One instance and injected at execution time, so raw secrets never enter the agent context.

### Can I login and obtain session token with the UpKeep Maintenance Management API?

Yes. Use the POST /login endpoint. The API returns structured JSON responses that agents can parse and act on directly.

### What are the rate limits for the UpKeep Maintenance Management API?

Rate limits are not specified in the OpenAPI spec. Check the vendor documentation for current limits. Through Jentic, rate limiting is handled automatically with retry logic built into the execution layer.

### How do I login and obtain session token through Jentic?

Install the Jentic SDK with pip install jentic, authenticate through Jentic One, the self-hosted execution layer, then search for 'login and obtain session token'. Jentic returns the matching UpKeep Maintenance Management API operation with its input schema. Load the schema and execute the call - credentials are injected automatically.

### How many endpoints does the UpKeep Maintenance Management API have?

The UpKeep Maintenance Management API exposes 10 endpoints covering assets, authentication, locations operations.

### Can I limit what my agent is allowed to do with the UpKeep Maintenance Management API?

Yes. Jentic One runs self-hosted, so your own rules decide which UpKeep operations and credentials the agent may use. You can allow it to list and create work orders (POST /workorders, POST /workorder) and change their status (POST /workorder-status) while withholding everything else, so no other call runs unless you add it. Because UpKeep puts the asset id in the URL path (POST `/assets/{id}`), a rule can also pin the agent to reading a specific asset rather than the full /assets list.
