Docs & Tutorials

API Usage

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 item
  • POST InitiateBoardItem – Create a live Board item at a drop step
  • POST CreateProcessDraftItem – Create a draft Process Flow item
  • POST CreateBoardDraftItem – Create a draft Board item
  • POST 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, and datetime. 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 record
  • POST 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 DeleteOneRecord
  • POST 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 FindOneRecord
  • POST FindManyRecord
  • POST 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 step
  • POST ApproveItem – Approve item at an approval step
  • POST RejectItem – Reject item at an approval step
  • POST 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 }
    ]
  }
}