to select ↑↓ to navigate
Frappe Framework

Frappe Framework

Open in ChatGPT
Ask ChatGPT about this page
Open in Claude
Ask Claude about this page

API

API

Frappe exposes a REST API for every DocType and every whitelisted method. You don't write API endpoints — you define data and code, the framework generates the API.

Two URL families

Endpoint Use
/api/resource/<DocType> CRUD on records — list, get, create, update, delete
/api/method/<dotted.path> Call a whitelisted Python function

Authentication

Three options:

Method Best for
API key + secret Server-to-server scripts, long-lived integrations
OAuth 2.0 Third-party apps acting on behalf of a user
Session cookie Browser-based logged-in users

Generate an API key on User → API Access.

Example: list invoices

curl 'https://mysite/api/resource/Sales Invoice' \
  -H 'Authorization: token <api_key>:<api_secret>' \
  -d 'fields=["name","customer","grand_total","posting_date"]' \
  -d 'filters=[["docstatus","=",1],["posting_date",">=","2026-01-01"]]'

Example: call a method

curl -X POST 'https://mysite/api/method/my_app.api.run_report' \
  -H 'Authorization: token <api_key>:<api_secret>' \
  -d 'report_name=Sales Summary' -d 'year=2026'

Client SDKs

Webhooks

For outbound notifications (doc submitted, status changed), use Webhook DocType in the desk. It sends an HTTP POST to your URL on the configured event.

Last updated 3 days ago
Was this helpful?
Thanks!