Tasks
The Task object represents an individual task in the EstatePrime system. This object is returned in JSON format, containing all available values for a task including its priority, status, and related contacts and users.
Object
The Task object represents an individual task record. Below are the fields included in a Task object:
Example
json
{
"id": 312,
"title": "Follow up with John Doe about apartment offer",
"description": "Client requested a callback after reviewing the counter offer.",
"created_by": 3,
"date_created": "2025-03-10 09:00:00",
"date_updated": "2025-03-12 14:30:00",
"due_date": "2025-03-15",
"status_id": 2,
"category_id": 1,
"priority": "high",
"project_id": null,
"is_star": false,
"users": [3, 8],
"contacts": [45],
"tags": [2, 9]
}- id (int): The system id of the task.
- title (string): The task title.
- description (string, nullable): Optional longer description of the task.
- created_by (int): The user ID of the user who created the task.
- date_created (string): The date and time the task was created in
YYYY-MM-DD HH:MM:SSformat. - date_updated (string): The date and time the task was last updated in
YYYY-MM-DD HH:MM:SSformat. - due_date (string, nullable): The due date in
YYYY-MM-DDformat, ornullif no deadline is set. - status_id (int): The ID of the task status. See Get statuses.
- category_id (int, nullable): The ID of the task category, or
nullif uncategorised. - priority (string): The task priority. Possible values:
low,normal,high. - project_id (int, nullable): The ID of the linked project, or
nullif not part of a project. - is_star (boolean): Whether the task has been starred/flagged.
- users (array of integers): A list of user IDs assigned to this task.
- contacts (array of integers): A list of contact IDs associated with this task.
- tags (array of integers): A list of tag IDs associated with this task.
Get tasks
/api/tasks (GET)
Fetch a paginated list of tasks. Deleted tasks are always excluded.
Request
- Method:
GET - Headers: Include authentication headers as described in the Authentication section.
- Body: JSON object with the following optional parameters:
page(int): The page number to fetch. Defaults to1.status_id(int): Filter by task status ID.category_id(int): Filter by task category ID.priority(int): Filter by priority level. Use1for low,2for normal,3for high.due_date(object): Filter by due date range. Must include:min(string): The minimum due date inYYYY-MM-DDformat, ornullfor no lower limit.max(string): The maximum due date inYYYY-MM-DDformat, ornullfor no upper limit.
date_created(object): Filter by creation date range. Must include:min(string): The minimum date inYYYY-MM-DD HH:MM:SSformat, ornullfor no lower limit.max(string): The maximum date inYYYY-MM-DD HH:MM:SSformat, ornullfor no upper limit.
Example Body
json
{
"page": 1,
"status_id": 2,
"priority": 3,
"due_date": {
"min": "2025-03-01",
"max": "2025-03-31"
}
}Response
- 200 OK: Returns a JSON array of task objects.
Example Response
json
{
"status": 200,
"page": 1,
"total_pages": 5,
"results_per_page": 50,
"total_results": 214,
"data": [
{
"id": 312,
"title": "Follow up with John Doe about apartment offer",
"description": "Client requested a callback after reviewing the counter offer.",
"created_by": 3,
"date_created": "2025-03-10 09:00:00",
"date_updated": "2025-03-12 14:30:00",
"due_date": "2025-03-15",
"status_id": 2,
"category_id": 1,
"priority": "high",
"project_id": null,
"is_star": false,
"users": [3, 8],
"contacts": [45],
"tags": [2, 9]
}
//Rest of the data...
]
}Get single task
/api/tasks/{id} (GET)
Get a single task by its id.
Request
- Method:
GET - Headers: Include authentication headers.
- Path Params: The task id to be fetched.
Example Response
json
{
"status": 200,
"data": {
"id": 312,
"title": "Follow up with John Doe about apartment offer",
"description": "Client requested a callback after reviewing the counter offer.",
"created_by": 3,
"date_created": "2025-03-10 09:00:00",
"date_updated": "2025-03-12 14:30:00",
"due_date": "2025-03-15",
"status_id": 2,
"category_id": 1,
"priority": "high",
"project_id": null,
"is_star": false,
"users": [3, 8],
"contacts": [45],
"tags": [2, 9]
}
}Response
- 200 OK: Returns the JSON object of the task.
Create task
/api/tasks (POST)
Create a new task.
Request
- Method:
POST - Headers: Include authentication headers.
- Body: JSON object with the task details to be inserted.
| Field | Type | Required | Description |
|---|---|---|---|
title | string | Yes | The task title. |
created_by | int | Yes | The user ID of the task creator. Must be a valid active user. |
users | array of int | Yes | List of user IDs to assign. At least one valid user is required. |
priority | string | Yes | Task priority. Accepted values: low, normal, high. |
status_id | int | Yes | The initial status ID. Must be a valid status. |
description | string | No | Optional longer description. |
due_date | string | No | Due date in YYYY-MM-DD format. |
category_id | int | No | Category ID. Must be a valid category. |
project_id | int | No | Project ID to link the task to. Must be a valid project. |
contacts | array of int | No | List of contact IDs to associate. Invalid IDs are silently ignored. |
tags | array of int | No | List of tag IDs to associate. Invalid or wrong-type tags are silently ignored. |
Example Body
json
{
"title": "Follow up with John Doe about apartment offer",
"created_by": 3,
"users": [3, 8],
"priority": "high",
"status_id": 2,
"description": "Client requested a callback after reviewing the counter offer.",
"due_date": "2025-03-15",
"category_id": 1,
"contacts": [45],
"tags": [2, 9]
}Response
- 200 OK: Returns the created task ID.
Example Response
json
{
"status": 200,
"created_id": 312
}Delete task
/api/tasks/{id} (DELETE)
Soft-delete a task. The record is marked as deleted and excluded from all future list and single-fetch responses.
Request
- Method:
DELETE - Headers: Include authentication headers.
- Path Params: The task id to be deleted.
Response
- 200 OK: Returns the deleted task ID.
Example Response
json
{
"status": 200,
"deleted_id": 312
}Get task statuses
/api/tasks/statuses (GET)
Fetch the available task statuses.
Request
- Method:
GET - Headers: Include authentication headers.
Response
- 200 OK: Returns a JSON array of available task statuses.
Example Response
json
{
"status": 200,
"data": [
{
"id": 1,
"name": "To Do"
},
{
"id": 2,
"name": "In Progress"
},
{
"id": 3,
"name": "Done"
}
]
}Get task categories
/api/tasks/categories (GET)
Fetch the available task categories.
Request
- Method:
GET - Headers: Include authentication headers.
Response
- 200 OK: Returns a JSON array of available task categories.
Example Response
json
{
"status": 200,
"data": [
{
"id": 1,
"name": "Follow Up"
},
{
"id": 2,
"name": "Viewing"
},
{
"id": 3,
"name": "Administrative"
}
]
}Get task tags
/api/tasks/tags (GET)
Fetch the available task tags.
Request
- Method:
GET - Headers: Include authentication headers.
Response
- 200 OK: Returns a JSON array of available task tags.
Example Response
json
{
"status": 200,
"data": [
{
"id": 2,
"name": "Urgent"
},
{
"id": 9,
"name": "Client Waiting"
}
]
}Get task custom fields
/api/tasks/custom-fields (GET)
Fetch the available custom fields for tasks.
Request
- Method:
GET - Headers: Include authentication headers.
Response
- 200 OK: Returns a JSON array of available custom fields for tasks.
Example Response
json
{
"status": 200,
"data": [
{
"id": 1,
"name": "Estimated Duration",
"type": "number"
},
{
"id": 2,
"name": "Task Outcome",
"type": "select",
"options": [
{
"id": 1,
"name": "Successful"
},
{
"id": 2,
"name": "Unsuccessful"
},
{
"id": 3,
"name": "Rescheduled"
}
]
}
]
}Available custom field types
- text: Text up to 255 characters.
- textarea: Text up to 2500 characters.
- wysiwyg: Text with HTML format.
- number: Integer or decimal.
- formatted_number: Integer or decimal that is formatted. E.g.
1,000,000.25. - select: Single select with options.
- select_multi: Multiple select with options.
- checkbox: Boolean.
- file: Single file. (As a URL)
- file_multi: Array of multiple files. (As URLs)
- image: Single image. (As a URL)
- image_multi: Array of multiple images. (As URLs)
- address: Address. (E.g.
Bellariastraße 6, 1010 Wien, Austria) - url: URL.
- date: Date in
YYYY-MM-DDformat. (E.g.2025-10-18) - datetime: Datetime in
YYYY-MM-DD HH:MM:SSformat. (E.g.2025-10-18 18:24:10) - currency: Integer or decimal formatted as a currency. E.g.
1,000,000.25€. - user: Application
user_id. - user_multi: An array of application
user_idvalues. - contact: Another contact's id.
- contact_multi: An array of multiple contact ids.

