Public API Reference
NileDesk provides a comprehensive set of public APIs that allow external systems to insert, update, delete, fetch, and process data across Process Flows, Boards, Datasets, and Data Forms.
These APIs are commonly used for integrations with CRMs, ERPs, portals, automation platforms (Zapier, n8n), and custom applications.
API Categories
- Insert Data – Create new live or draft items and records
- Update Data – Modify one or multiple records
- Delete Data – Remove records from datasets or forms
- Fetch Data – Query records, counts, templates, and fields
- Process Data – Move items through process flow steps
- Attachments & Comments – Upload files and add comments
Base URL
Replace org_id with your actual Organization ID.
https://app.niledesk.com/api/public/{EndpointName}/org_id
Create Items/Insert Data APIs
POST InitiateProcessItem– Create a live Process Flow itemPOST InitiateBoardItem– Create a live Board item at a drop stepPOST CreateProcessDraftItem– Create a draft Process Flow itemPOST CreateBoardDraftItem– Create a draft Board itemPOST AddRecord– Add a new row to Dataset or Data Form
POST https://app.niledesk.com/api/public/InitiateProcessItem/org_id
POST https://app.niledesk.com/api/public/InitiateBoardItem/org_id
POST https://app.niledesk.com/api/public/CreateProcessDraftItem/org_id
POST https://app.niledesk.com/api/public/CreateBoardDraftItem/org_id
POST https://app.niledesk.com/api/public/AddRecord/org_id
Request Body Format
{
"api_key": "user_api_key",
"template_id": "template_id",
"step_id": "board_drop_step_id",
"form_fields": {
"field1": "value1",
"field2": 22
},
"form_tables": {
"p_collection_name_tbl1": [
{ "field1": "value1", "field2": 22 },
{ "field1": "value2", "field2": 33 }
]
}
}
Parameters Explained
- api_key – User API key (available under Change Password)
- template_id – Target Process Flow, Board, Dataset, or Form
- step_id – Required only for initiating Board items
- form_fields – Key-value pairs for form fields.
Supports
string,number, anddatetime. For datasnap, datalink, and userlink, pass the referenced key. - form_tables – Populate embedded form tables using collection names.
File Upload & Comments
Upload file to NileDesk and then use its returned reference to insert comments or use in attachment fields.
Upload File
POST https://app.niledesk.com/api/public/UploadFile/org_id/api_key
Uploads one or more files and returns a ref_id.
This ref_id can be used while creating items or adding comments.
Add Comment
Add collaborative comments to a process item
POST https://app.niledesk.com/api/public/AddComment/org_id
{
"api_key": "user_api_key",
"process_id": "process_item_id",
"message": "Comment message",
"attachment": "optional_file_ref_id"
}
Update Data APIs
Update process flow,board or dataset record data
POST UpdateOneRecord– Update a single recordPOST UpdateManyRecord– Update multiple records using filters
POST https://app.niledesk.com/api/public/UpdateOneRecord/org_id
POST https://app.niledesk.com/api/public/UpdateManyRecord/org_id
Update Request Body
{
"api_key": "user_api_key",
"template_id": "template_id",
"fields": {
"field1": "value1",
"field2": 22
},
"filters": {
"logic": "and",
"rules": [
{ "field1": "value", "operator": "eq" },
{ "field2": "value", "operator": "neq" }
]
}
}
Delete Data APIs
Delete a record in a dataset or data form , Deletion is not applicable to process items.
POST DeleteOneRecordPOST DeleteManyRecord
POST https://app.niledesk.com/api/public/DeleteOneRecord/org_id
POST https://app.niledesk.com/api/public/DeleteManayRecord/org_id
Delete Request Body
{
"api_key": "user_api_key",
"template_id": "template_id",
"filters": {
"logic": "and",
"rules": [
{ "field1": "value", "operator": "eq" }
]
}
}
Fetch Data APIs
POST FindOneRecordPOST FindManyRecordPOST CountRecord
{
"api_key": "user_api_key",
"template_id": "template_id",
"process_id": "process_item_id",
"filters": {
"logic": "and",
"rules": [
{ "field1": "value", "operator": "eq" }
]
}
}
Filter Operators Reference
Filters are used in Fetch, Update, and Delete APIs to apply conditional logic on records. Each filter rule consists of a field, a comparison value, and an operator.
| Operator Name | Code | Description |
|---|---|---|
| Equal To | eq |
Matches records where the field value is exactly equal to the given value |
| Not Equal To | neq |
Matches records where the field value is not equal to the given value |
| Contain | ct |
Matches records where the field value contains the given text |
| Not Contain | nct |
Matches records where the field value does not contain the given text |
| Start With | sw |
Matches records where the field value starts with the given text |
| Ends With | ew |
Matches records where the field value ends with the given text |
| Greater Than | gt |
Matches records where the field value is greater than the given value |
| Greater Than or Equal | gte |
Matches records where the field value is greater than or equal to the given value |
| Less Than | lt |
Matches records where the field value is less than the given value |
| Less Than or Equal | lte |
Matches records where the field value is less than or equal to the given value |
Note: Multiple filter rules can be combined using
and or or logic in the filters object.
Template & Metadata APIs
Get Templates with API Access
Returns all templates (Process Flows, Boards, Datasets, Forms) that are enabled for API access within the organization.
POST https://app.niledesk.com/api/public/GetTemplates/org_id
Request Body
{
"api_key": "user_api_key"
}
Get Fields of a Template
Returns all fields defined in a specific template. This is useful for dynamically mapping external data to NileDesk fields.
POST https://app.niledesk.com/api/public/GetFields/org_id
Request Body
{
"api_key": "user_api_key",
"template_id": "template_id"
}
Get Process / Board item Timeline
Fetches the complete activity timeline of a Process Flow or Board item, including step transitions, approvals, and user actions.
POST https://app.niledesk.com/api/public/GetProcessTimeline/org_id
Request Body
{
"api_key": "user_api_key",
"process_id": "process_item_id"
}
Process Flow Actions
These APIs are used to move a Process Flow item through its lifecycle, such as submitting input, approving, rejecting, or returning it to a previous step.
POST ProcessItem– Send item forward from an input stepPOST ApproveItem– Approve item at an approval stepPOST RejectItem– Reject item at an approval stepPOST ReturnItemToLastExecutedStep– Roll item back to last executed step
POST https://app.niledesk.com/api/public/ProcessItem/org_id
POST https://app.niledesk.com/api/public/ApproveItem/org_id
POST https://app.niledesk.com/api/public/RejectItem/org_id
POST https://app.niledesk.com/api/public/ReturnItemToLastExecutedStep/org_id
Process Request Body
{
"api_key": "user_api_key",
"process_id": "process_item_id",
"step_id": "step_id",
"remarks": "optional remarks",
"form_fields": {
"field1": "value1",
"field2": 22
},
"form_tables": {
"p_collection_name_tbl1": [
{ "field1": "value1", "field2": 22 },
{ "field1": "value2", "field2": 33 }
]
}
}