Developer API Reference

Overview

Approval Reminder Manager exposes four whitelisted API endpoints under approval_reminder_manager.api. All endpoints require an authenticated Frappe session or API key.

Endpoints

GET — get_pending_approvals

GET /api/method/approval_reminder_manager.api.get_pending_approvals
?rule=Purchase+Order+Reminder

Permission required: Read on Approval Reminder Rule

Parameters:

  • rule (optional string) — Filter to a specific rule name. Omit to return pending approvals across all enabled rules.

Returns: Array of objects:

[
  {
    "rule": "Purchase Order Reminder",
    "document_type": "Purchase Order",
    "document_name": "PO-2025-00042",
    "workflow_state": "Pending Approval",
    "approvers": ["[email protected]", "[email protected]"]
  },
  ...
]

POST — send_reminder

POST /api/method/approval_reminder_manager.api.send_reminder

Permission required: Write on Approval Reminder Rule

Body parameters:

  • rule — Rule name
  • document_name — Document name/ID
  • recipient — Recipient email address

Returns:

{ "sent": true }

Use this endpoint to trigger a one-off reminder from an external system or custom script without waiting for the daily scheduler.

POST — run_now

POST /api/method/approval_reminder_manager.api.run_now

Permission required: Write on Approval Reminder Settings

Parameters: None

Returns: Integer — number of reminders processed in this run

Equivalent to clicking “Process Reminders Now” in Settings. Safe to call from cron, CI pipelines, or admin scripts.

GET — get_dashboard_metrics

GET /api/method/approval_reminder_manager.api.get_dashboard_metrics

Permission required: Read on Reminder Log

Returns:

{
  "pending_approvals": 12,
  "reminders_sent": 47,
  "escalations": 3,
  "sla_breaches": 5,
  "avg_approval_days": 2.4,
  "as_of": "2025-06-01 10:32:00"
}

Authentication

Use Frappe’s standard API key authentication:

curl -H "Authorization: token api_key:api_secret" 
  https://your-site.com/api/method/approval_reminder_manager.api.get_dashboard_metrics

Was this article helpful?