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

# Perumdamtkr work-order

The PERUMDAM TKR Work Order API runs the complaint-to-field-work ticket system of PERUMDAM TKR, an Indonesian regional water utility. It creates work orders from customer complaints with region codes, priority, and a maps link, then moves each ticket through assignment to officer groups or named officers, attendance confirmation, pending and resume, completion, and supervisor close. Field officers upload geotagged photos and report their GPS location, supervisors rate finished work orders, and dashboard operations summarise tickets by region, status, and channel with PDF and Excel downloads.

## For AI agents

Create and route PERUMDAM TKR water-utility work orders from customer complaints, track ticket status by work order number, assign officers, and read dashboard summaries by region and status.

## Scope

Does not handle water billing, meter readings, or customer payments. Use for routing and tracking PERUMDAM TKR complaint work orders only.

## Capabilities

- Create a work order from a customer complaint with region codes such as kd_kelurahan, a priority, and a maps link
- Assign a work order to an officer group or a custom list of officers, or let an officer take a ticket
- Move an officer's ticket through attendance confirmation, pending with a reason, resume, and done
- Track a work order's current status and history by its work order number
- Upload geotagged photos to a work order and record an officer's GPS location
- Rate completed work orders and read reviews per officer or per work order
- Summarise tickets by region, status, and channel with PDF and Excel dashboard downloads

## Use cases

### Complaint intake agent through Jentic

An AI agent handling customer complaints for the water utility turns each report into a routed work order. Through Jentic the agent searches for 'create a work order from a complaint', loads the PERUMDAM TKR insertWorkOrder operation with its input schema, and submits the customer, address, region codes, category, and priority, with the bearer token injected at call time by your own Jentic One instance.

Example prompt: Call POST `/api/work-orders` with customer, alamat, kd_kelurahan, category, priority, and description for a reported leak, then check its progress with GET `/api/work-orders/status/closed`

### Dispatching tickets to field officers

A supervisor (kasie) routes new tickets to the right crew. The API assigns a work order to an officer group with group_id and petugas_ids, or to a custom set of officers with a note, while officers can take a ticket themselves. Officer lists by region (wilayah_id) and active-officer locations help pick who is nearest.

Example prompt: Call GET `/api/user/petugas/by-wilayah` with a wilayah_id, then call POST `/api/work-orders/assign/group` with work_order_id, group_id, and petugas_ids for the chosen crew

### Field ticket lifecycle

Once assigned, an officer confirms attendance, can mark the ticket pending with a pending_reason, resumes it, and marks it done, each step keyed by detail_work_order_id. Officers attach photos with captured_at, latitude, and longitude to document the repair before the supervisor closes the ticket.

Example prompt: Call POST `/api/work-orders/pending-tiket/petugas` with detail_work_order_id and pending_reason 'waiting for pipe parts', then later call POST `/api/work-orders/resume-tiket/petugas` with the same detail_work_order_id

### Service performance reporting

Utility managers track backlog and quality across regions. Dashboard operations recap tickets by region and status, count new tickets, chart the status and channel distribution, and download the recaps as PDF or Excel, while reviews rate completed work orders per officer.

Example prompt: Call GET `/api/dashboard/by-wilayah/rekap` and GET `/api/dashboard/total-tiket-new`, then summarise open tickets per region

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/api/work-orders` | Create a work order |
| GET | `/api/work-orders/` | List all work orders |
| POST | `/api/work-orders/assign/group` | Assign a ticket to an officer group |
| POST | `/api/work-orders/take` | Officer takes a ticket |
| POST | `/api/work-orders/pending-tiket/petugas` | Put a ticket on pending |
| GET | `/api/users/active-locations` | List active officer locations |
| POST | `/api/reviews/work-orders` | Rate a work order |
| GET | `/api/dashboard/by-wilayah/rekap` | Recap tickets by region |

## Key resources

- **Work orders** — Complaint-based tickets with customer, region codes, category, priority, status, and work order number
- **Officers and work groups** — Users (petugas), roles, work groups, and group members used to assign tickets by region
- **Work order photos and locations** — Geotagged media uploads and officer GPS locations for field work
- **Dashboards and reviews** — Ticket recaps by region, status, and channel with PDF and Excel downloads, plus work order ratings

## AI readiness

This API is usable in Jentic One now. Its AI-readiness score against Jentic's framework shows where it stands today and where improvements would make it even easier for agents to use.

- **Score:** 59 / 100
- **Maturity:** Foundational
- **Dimensions:**
  - Foundational Compliance: 58 / 100
  - Developer Experience & Jentic Compatibility: 73 / 100
  - AI-Readiness & Agent Experience: 40 / 100
  - Agent Usability: 86 / 100
  - Security: 60 / 100
  - AI Discoverability: 67 / 100
- **View full report:** https://jentic.com/apis/perumdamtkr.com/perumdamtkr/scorecard
- **How the score is calculated:** https://docs.jentic.com/reference/api-readiness-framework/overview/
- **More about the dimensions:** https://docs.jentic.com/reference/api-readiness-framework/specification/#dimensional-model-overview

### Score it yourself

Every API in the directory is allowlisted, so you can re-score it with no key required.

- **Score your own API:** https://jentic.com/scorecard.md
- **Scoring CLI agent skill:** https://github.com/jentic/jentic-api-scorecard/blob/main/skills/jentic-api-scorecard/SKILL.md

```sh
npx @jentic/api-scorecard-cli score <openapi-url>
```

## Why Jentic

- **Setup:** Wiring the PERUMDAM TKR Work Order API by hand means obtaining a bearer token through its login or token operation, sending it as an Authorization header, and mapping a spec whose ticket paths embed fixed example ids. Through Jentic you install once, import the API from the API Directory, store the credential once, and your agent calls it.
- **Permission scoping:** This API carries most ticket targets such as work_order_id and detail_work_order_id in the request body, so rules bound which operations your agent may call, not which ticket. You choose the operations it may call, so destructive ones like deleting users, regions, or work groups are not included unless you add them.
- **Credential handling:** Your PERUMDAM TKR bearer token 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 'create a work order from a complaint' or 'assign a ticket to field officers', and Jentic returns the matching PERUMDAM TKR operation with its input schema so the agent calls the right endpoint without reading the Indonesian-language field names cold.

## Related APIs

- **UpKeep Maintenance Management API** — Work orders, assets, and maintenance requests for a general-purpose maintenance platform
- **Maintenance Connection API** — Computerised maintenance management with work orders and asset records
- **Freshdesk API v2** — Help desk tickets for the customer-facing side of complaint handling

## FAQ

### What authentication does the PERUMDAM TKR Work Order API use?

The PERUMDAM TKR Work Order API declares HTTP bearer authentication (bearerAuth) in its OpenAPI spec for its work order, user, and dashboard operations. A few operations are open, including registration, forgot-password, OTP verification, and password reset, and the spec also lists a POST `/oauth/token` operation that issues tokens from username and password. Through Jentic the bearer token is stored by your own instance and attached at call time.

### Can I track a work order by its number with the PERUMDAM TKR Work Order API?

Yes. The getStatusByNoWo operation retrieves the current status and history of a work order using its work order number, shown in the spec with the example WPIII-2025-0002. Other operations list work orders by status, such as closed, rejected, or done for an officer.

### What are the rate limits for the PERUMDAM TKR Work Order API?

The OpenAPI spec does not specify rate limits. The spec carries no public documentation link, so confirm current limits with PERUMDAM TKR, the operator of workorder.perumdamtkr.com, before running bulk dashboard downloads.

### Is there a PERUMDAM TKR MCP server?

You don't need an MCP server to give your agent the PERUMDAM TKR Work Order API. Jentic connects it directly from the API Directory: import it, store your credential once, and your agent calls the work order operations it needs on demand without loading another server's tool definitions into its context.

### How do I create a work order through Jentic?

Search Jentic for 'create a work order from a complaint', load the POST `/api/work-orders` operation, and execute it with fields such as customer, alamat, category, priority, wilayah_id, and the kd_propinsi to kd_kelurahan region codes. The ticket can then be routed with the assign operations. To run it on your own infrastructure, install Jentic One from its GitHub repo.

### Can I limit what my agent is allowed to do with the PERUMDAM TKR Work Order API?

Yes. Write a rule that allows only POST `/api/work-orders` and GET `/api/work-orders/status/closed`, and the agent can file complaint tickets and read closed ones while user deletion, role changes, and dashboard downloads stay out of its allowed set. Every call it makes is logged for review.
