Zapier App REST API

API for Zapier integrations

The EnkiTask Zapier API is currently under review and is in Beta status. While it is functional and available for early access, please note that some features may change or experience updates during this review period.

Please note that the Zapier API is specifically designed for integration with the Zapier App and is not intended for use as a public API. Its primary purpose is to facilitate the connection between EnkiTask and other applications through Zapier, and should not be used for general public API access.

Overview

This API is designed for quick and easy integration with Zapier, allowing seamless automation of workflows without the need for complex setup. It simplifies connecting apps and transferring data effortlessly within the Zapier platform.

API Base URL

The base URL for accessing all Triggers and Actions designed for our Zapier app is

https://api.enkitask.com/zap/

This endpoint serves as the foundation for all API interactions, ensuring seamless communication between Zapier workflows and EnkiTask's services.

Authentication

EnkiTask Zapier Api authenticates API requests using your account’s Zapier API key. If a request doesn’t include a valid key or a request includes a deleted key. EnkiTask returns returns an authentication error.

{
    "status":"error",
    "message":"Invalid Zapier API key",
    "code":"AUTH_DENIED"
}

You can view and manage your API key in Zapier Add-on. Read this article: https://docs.enkitask.com/add-ons/zapier to learn how to obtain your API key..

Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth.

For every GET or POST request, you need to include your API key. You can send the API key in one of the following ways:

  • Preferred Method (Header): Add the API key to the request header as X-API-KEY. This method is the most secure and recommended.

    Example:

    curl -X GET "https://api.enkitask.com/zap"
    -H "X-API-KEY: your-api-key-here"

  • Alternative Method (Query Parameter): If adding the key in the header is not possible, you can pass the API key as a query parameter in the URL for GET requests.

    Example:

    curl -X GET "https://api.enkitask.com/zap?api_key=your-api-key-here"

  • Alternative Method (Request Body): For POST requests, you can also include the API key in the body of the request as the api_key parameter.

    Example:

    curl -X POST "https://api.enkitask.com/zap/tasks/create"
    -d "api_key=your-api-key-here"
    -d "title=New Task"
    -d "project_id=your-prj-id"

Always prefer sending the API key via the X-API-KEY header for better security, especially when using sensitive endpoints.

Triggers

Projects List

Endpoint

/zap/projects/list

Full URL

https://api.enkitask.com/zap/projects/list

Method

GET

This API endpoint returns all available projects associated with the user making the request, identified by the provided api_key (Header:X-API-KEY). The response will be in JSON format, structured as an array of project objects. Each project object will contain the project’s id and title.

Request Format

To retrieve the list of available projects, make a GET request to the above URL and include your API key either as a query parameter or in the request header.

Example Request:

curl -X GET "https://api.enkitask.com/zap/projects/list" \
-H "X-API-KEY: your-api-key-here"

Example Response:

The response will return a JSON array with all projects accessible to the user:

[
  {
    "id": "prj-id",
    "title": "Project Name"
  },
  {
    "id": "another-prj-id",
    "title": "Another Project Name"
  }
]

Important Notes:

  • This endpoint is used within the Zapier App to retrieve a list of projects available for the user, helping in the process of connecting EnkiTask with other apps.

  • The Trigger is hidden in Zapier, meaning it is not visible or directly accessible to users of the Zapier interface. It operates behind the scenes to populate available project options when integrating EnkiTask with other services via Zapier.

  • This endpoint is not intended for public API use and is designed specifically for the Zapier integration.

Recent Tasks List

Endpoint

/tasks/recent

Full URL

https://api.enkitask.com/zap/tasks/recent

Method

GET

This Zapier Trigger returns a list of tasks that have been created within the last 60 minutes for a specific project. The project_id parameter is required and must be included in the request to retrieve tasks from a particular project. The response will be in JSON format and will include detailed information about each task, such as the task’s id, title, description, createdAt timestamp, and more.

Required Parameter:

  • project_id: The ID of the project from which you want to retrieve recent tasks.

Request Format

To retrieve the list of recent tasks, make a GET request to the above URL, including the project_id in the query and your api_key either as a query parameter or in the header.

Example Request:

curl -X GET "https://api.enkitask.com/zap/tasks/recent?project_id=your-project-id" \
-H "X-API-KEY: your-api-key-here"

Example Response:

The response will return a JSON array of tasks created in the last 60 minutes within the specified project. Each task object contains various details about the task:

[
  {
    "id": "66e9b6663f280de88377f031",
    "title": "hello world",
    "description": "this is simple description\n\n",
    "descriptionHtml": "<p>this is simple description</p><p></p>",
    "createdAt": "2024-09-17T20:03:34.334Z",
    "createdBy": "John Doe",
    "status": "To-Do",
    "priority": "Medium",
    "type": "Task",
    "difficultyLevel": 0,
    "deadline": "2024-09-25T02:59:59.000Z",
    "assignedTo": "James Smith"
  }
]

If no recent tasks were created within the last 60 minutes, the API will return an empty array:

[]

Response Fields:

  • id <String>: The unique identifier of the task.

  • title <String>: The title of the task.

  • description <String>: The plain text description of the task.

  • descriptionHtml <String>: The HTML-formatted description of the task.

  • createdAt <DateTime>: The timestamp of when the task was created (ISO format) in UTC.

  • createdBy <String>: The name of the user who created the task.

  • status <String>: The current status of the task (e.g., "To-Do", "In Progress", "Completed", "Review").

  • priority <String>: The priority level of the task (e.g., "Medium", "Urgent" etc).

  • type <String>: The type of task (e.g., "Task", "Bug", "Issue" etc).

  • difficultyLevel <Int>: The difficulty level of the task (if applicable) (Possible values 0-10 ).

  • deadline <DateTime>: The deadline for completing the task (ISO format) in UTC..

  • assignedTo <String>: The name of the person responsible for the task.

Important Notes:

  • This trigger is designed specifically for Zapier to retrieve recent tasks created within the last 60 minutes for a specified project.

  • The project_id parameter is required to filter tasks by project.

  • If no tasks have been created during this time window, an empty array ([]) will be returned.

  • This trigger operates behind the scenes to facilitate task-based automations in the EnkiTask Zapier App.

Actions

Create Task

Endpoint

/tasks/create

Full URL

https://api.enkitask.com/zap/tasks/create

Method

POST

This Zapier Action allows you to create a new task in a specific project within EnkiTask using the provided API endpoint. The project_id parameter is required to specify the project where the task will be created, and additional task details can be passed via optional body variables.

Required Parameters:

  • project_id: The ID of the project where the task will be created.

  • task_title: The title of the task.

Optional Parameters:

  • task_status: The status of the task (e.g., "To-Do", "In Progress").

  • task_priority: The priority of the task (e.g., "Urgent", "Medium", "Trivial").

  • task_type: The type of task (e.g., "Bug", "Story", "Task").

Example Request Body:

{
  "project_id": "id-of-project",
  "task_title": "Task Title in Zapier",
  "task_status": "To-Do",
  "task_priority": "Trivial",
  "task_type": "Story"
}

In this example, project_id and task_title are required. The rest of the fields (task_status, task_priority, and task_type) are optional and will default to standard values if not provided.

Example Request:

curl -X POST "https://api.enkitask.com/zap/tasks/create" \
-H "X-API-KEY: your-api-key-here" \
-H "Content-Type: application/json" \
-d '{
  "project_id": "6652138e55c443e36cf05a2f",
  "task_title": "Task Title in Zapier",
  "task_status": "To-Do",
  "task_priority": "Trivial",
  "task_type": "Story"
}'

Example Success Response:

If the task is created successfully, the response will return a JSON object indicating success:

{
  "status": "success",
  "message": "TASK_CREATED"
}

Example Error Response:

If an error occurs during task creation (e.g., missing required parameters), the response will indicate an error:

{
  "status": "error",
  "message": "Reason of error"
}

Important Notes:

  • project_id and task_title are required fields for creating a task.

  • If a required parameter is missing or an error occurs during the creation process, the response will return a status: "error" with a message explaining the reason for the failure.

  • This action is used within Zapier to automate task creation in EnkiTask projects.

Last updated