A Step-by-Step Guide to Frappe REST API Permissions and Data Filtering


The default API URL to access data is structured as:
[appURL]:[PortNumber]/api/v2/document/[docTypeName]Let’s construct a URL based on this rule:
http://trysite:8000/api/v2/document/DriverBy default, this will return a 403 Forbidden error, indicating a permissions issue.

To gain access, follow these steps:
User > [userName]. API Access section. API Secret. Note that the API Secret will only be generated once, so keep it safe.
You will need both the API Key and API Secret to make a successful request.
Authorization: token [APIkey]:[APIsecret]
To filter specific fields from the response, the structure of the URL is as follows:
APIEndpoint?fields=["field_name"]Example:
http://batsite:8000/api/v2/document/Driver?fields=["first_name","last_name"]To retrieve all fields from a document, use the wildcard * in the fields parameter:
http://batsite:8000/api/v2/document/Driver?fields=["*"]To fetch a specific document by its unique ID, construct the endpoint as follows:
APIEndpoint/document/[docTypeName]/[SingleDocID]Example:
http://batsite:8000/api/v2/document/Driver/DR-0001To create a new document, construct the endpoint using the docType and pass the required data in JSON format.
http://batsite:8000/api/v2/document/DriverPass the body parameters as JSON:
{
"first_name": "Rafique",
"last_name": "Ullah",
"license_number": "TDR3445"
} 
Stop fighting Git permissions in WSL. This post explains the root cause of the 'Permission Denied' error and shows you the permanent fix.

Learn why the Frappe framework's built-in reporting is a game-changer. See how to customize, group, and save reports instantly

Learn how to use Frappe's Assignment Rule DocType to automate document assignments. Explore Round Robin, Load Balancing, and custom Python rules.