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

# Ppmanbailfutuh Siakad Pondok

The Siakad Pondok API records and reports RFID-based student attendance for a pondok pesantren (Islamic boarding school) academic system hosted at sim.ppmanbailfutuh.com. It covers two attendance streams: lesson attendance (presensi pelajaran), logged by scanning a student's RFID card against a mata_pelajaran_id, and daily prayer attendance (presensi sholat), logged with the prayer time, status, and date. For each stream a client can check a student's status for today, read their attendance history over a date range, and pull recap statistics. All lookups are keyed by the student's RFID value.

## For AI agents

Log RFID scans for lesson and prayer attendance at a pondok pesantren, and read a student's daily status, attendance history, and recap statistics by RFID.

## Scope

Does not manage grades, fees, class timetables, or student enrolment. Use for RFID lesson and prayer attendance at this pondok pesantren only.

## Capabilities

- Record a lesson attendance scan from a student's rfid and the mata_pelajaran_id of the lesson
- Record a prayer attendance scan with rfid, waktu_sholat, status, and tanggal
- Check a student's lesson or prayer attendance status for today by rfid
- Read a student's lesson or prayer attendance history between a start_date and end_date, paginated with per_page
- Pull recap statistics of lesson attendance and prayer attendance for a student over a date range

## Use cases

### Agent-generated attendance summaries through Jentic

A school administrator asks their agent for a weekly summary of a student's lesson and prayer attendance. Through Jentic the agent finds the Siakad Pondok recap and statistics operations by intent, calls them with the student's rfid and a date range, and writes a short report. The bearer token needed for the lesson attendance reads is attached by your own instance, so the agent never holds it.

Example prompt: Call GET `/api/v1/presensi/rekap` and GET `/api/v1/sholat/statistik` with rfid 0012345678, start_date 2026-11-01, and end_date 2026-11-07, then summarise lesson and prayer attendance for the week

### RFID gate and classroom readers

Card readers at the classroom door or the mosque entrance post each tap straight to the system. A lesson scan sends the rfid with the mata_pelajaran_id, and a prayer scan sends the rfid with waktu_sholat, status, and tanggal, so attendance is captured without paper registers.

Example prompt: Call POST `/api/v1/sholat/scan` with rfid 0012345678, waktu_sholat subuh, status hadir, and tanggal 2026-11-11

### Daily check-in status for guardians

Parents and dormitory staff want to know whether a student has checked in today. The status operations return today's lesson attendance by rfid and today's prayer attendance by rfid and optional tanggal, which a notification job can turn into a message for guardians.

Example prompt: Call GET `/api/v1/presensi/status` and GET `/api/v1/sholat/status` for rfid 0012345678 and report whether the student has checked in to lessons and prayers today

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/api/v1/presensi/scan` | Scan RFID for lesson attendance |
| GET | `/api/v1/presensi/riwayat` | Get lesson attendance history |
| GET | `/api/v1/presensi/rekap` | Get lesson attendance recap |
| POST | `/api/v1/sholat/scan` | Scan RFID for prayer attendance |
| GET | `/api/v1/sholat/riwayat` | Get prayer attendance history |
| GET | `/api/v1/sholat/statistik` | Get prayer attendance statistics |

## Key resources

- **Lesson attendance (presensi)** — Scan RFID for a lesson, check today's status, read history, and get recap statistics
- **Prayer attendance (sholat)** — Scan RFID for a prayer time, check today's status, read history, and get statistics

## 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:** 51 / 100
- **Maturity:** Foundational
- **Dimensions:**
  - Foundational Compliance: 99 / 100
  - Developer Experience & Jentic Compatibility: 71 / 100
  - AI-Readiness & Agent Experience: 34 / 100
  - Agent Usability: 94 / 100
  - Security: 60 / 100
  - AI Discoverability: 25 / 100
- **View full report:** https://jentic.com/apis/ppmanbailfutuh.com/ppmanbailfutuh/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 Siakad Pondok by hand means knowing that the lesson history, status, and recap reads need a bearer token while the scans and prayer operations are open, and decoding Indonesian route names like riwayat and rekap. Through Jentic you install once, import Siakad Pondok from the API Directory, store the token once, and your agent calls it.
- **Permission scoping:** Siakad Pondok passes the student rfid as a query or body value rather than in the URL path, so rules bound which operations your agent may call, not which student. You choose the operations it may call, so the attendance-writing scan operations are not included unless you add them.
- **Credential handling:** Your Siakad Pondok 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 'get a student's prayer attendance history' or 'record a lesson attendance scan', and Jentic returns the matching Siakad Pondok operation with its input schema, so the agent finds presensi and sholat routes without reading Indonesian docs.

## Related APIs

- **Edusign API** — Digital attendance and sign-in sheets for schools and training
- **Classe365 API** — Student information system with records, grades, and attendance
- **Twilio REST API** — SMS and voice messaging

## FAQ

### What authentication does the Siakad Pondok API use?

Per its OpenAPI spec, authentication varies by operation. The lesson attendance history, today's status, and recap reads under `/api/v1/presensi` require a bearer token, while the lesson scan and all four prayer attendance operations under `/api/v1/sholat` are declared as public endpoints that need no credential. Through Jentic the bearer token is stored by your own instance and attached only where the spec requires it.

### Can I read a student's attendance history with the Siakad Pondok API?

Yes. GET `/api/v1/presensi/riwayat` returns lesson attendance and GET `/api/v1/sholat/riwayat` returns prayer attendance, both filtered by rfid with optional start_date and end_date and paginated with per_page. For totals rather than individual records, use GET `/api/v1/presensi/rekap` or GET `/api/v1/sholat/statistik.`

### What are the rate limits for the Siakad Pondok API?

The OpenAPI spec does not specify rate limits. Check with the system administrators at https://sim.ppmanbailfutuh.com before running bulk history pulls across many students.

### Is there a Siakad Pondok MCP server?

You don't need an MCP server to give your agent Siakad Pondok. Jentic connects it directly from the API Directory: import it, store your bearer token once, and your agent calls the attendance operations it needs, discovered on demand instead of loaded into its context up front.

### Can I limit what my agent is allowed to do with Siakad Pondok?

Yes. For a reporting agent, allow only the GET operations such as GET `/api/v1/presensi/rekap` and GET `/api/v1/sholat/statistik`, and it can read attendance but cannot post scans with POST `/api/v1/presensi/scan` or POST `/api/v1/sholat/scan.` Every call it makes is logged, so a reporting task stays read-only.

### How do I record a prayer attendance scan through Jentic?

Search Jentic for 'record prayer attendance by RFID', load POST `/api/v1/sholat/scan`, and send rfid, waktu_sholat, status, and tanggal in the body. To run it on your own infrastructure, install Jentic One from its GitHub repo.
