API reference / ZiloProjects
ZiloProjects
Projects and tasks.
Base URL https://api.zilomail.in
List projects#
GET/v1/projects/projects
Query
statusstringUp to 30 characters.
limitintegerHow many to return (1–200). Default 50.
cursorstringThe
next value from the previous page. Up to 500 characters.Answer · 200 OK
dataarray of objectidstringcodestringnamestringstatusstringcustomerIdstring | nullmanagerobject | nullidstring | nullTheir ZiloOne user id.
emailstring | nullnamestringstartDatestring | nullendDatestring | nullcreatedAtstringISO 8601 date and time, UTC, e.g. 2026-10-17T09:30:00.000Z.
nextstring | nullPass as
cursor for the next page; null on the last.curl "https://api.zilomail.in/v1/projects/projects?limit=20" \
-H "Authorization: Bearer $ZILO_TOKEN"Answer · 200 OK
{
"data": [
{
"id": "string",
"code": "string",
"name": "string",
"status": "string",
"customerId": "string",
"manager": {
"id": "string",
"email": "string",
"name": "string"
},
"startDate": "2026-10-17",
"endDate": "2026-10-17",
"createdAt": "2026-10-17T09:30:00.000Z"
}
],
"next": "string"
}Try it
Sign in to call it as yourself.
List tasks#
GET/v1/projects/tasks
mine=true: given to the person. Open first by due date.
Query
projectstringUp to 64 characters.
minebooleanstatusstringUp to 30 characters.
limitintegerHow many to return (1–200). Default 50.
cursorstringThe
next value from the previous page. Up to 500 characters.Answer · 200 OK
dataarray of objectidstringnumberstringtitlestringdescriptionstring | nullstatusstringTODO, IN_PROGRESS, REVIEW, DONE…
prioritystringLOW, NORMAL, HIGH or URGENT.
projectIdstring | nullassigneeobject | nullidstring | nullTheir ZiloOne user id.
emailstring | nullnamestringdueDatestring | nullcompletedAtstring | nullcreatedAtstringISO 8601 date and time, UTC, e.g. 2026-10-17T09:30:00.000Z.
updatedAtstringISO 8601 date and time, UTC, e.g. 2026-10-17T09:30:00.000Z.
nextstring | nullPass as
cursor for the next page; null on the last.curl "https://api.zilomail.in/v1/projects/tasks?limit=20" \
-H "Authorization: Bearer $ZILO_TOKEN"Answer · 200 OK
{
"data": [
{
"id": "string",
"number": "string",
"title": "string",
"description": "string",
"status": "string",
"priority": "string",
"projectId": "string",
"assignee": {
"id": "string",
"email": "string",
"name": "string"
},
"dueDate": "2026-10-17",
"completedAt": "2026-10-17T09:30:00.000Z",
"createdAt": "2026-10-17T09:30:00.000Z",
"updatedAt": "2026-10-17T09:30:00.000Z"
}
],
"next": "string"
}Try it
Sign in to call it as yourself.
Get a task#
GET/v1/projects/tasks/{id}
Path
idstringrequiredAn id this API gave out. Up to 64 characters.
Answer · 200 OK
idstringnumberstringtitlestringdescriptionstring | nullstatusstringTODO, IN_PROGRESS, REVIEW, DONE…
prioritystringLOW, NORMAL, HIGH or URGENT.
projectIdstring | nullassigneeobject | nullidstring | nullTheir ZiloOne user id.
emailstring | nullnamestringdueDatestring | nullcompletedAtstring | nullcreatedAtstringISO 8601 date and time, UTC, e.g. 2026-10-17T09:30:00.000Z.
updatedAtstringISO 8601 date and time, UTC, e.g. 2026-10-17T09:30:00.000Z.
curl "https://api.zilomail.in/v1/projects/tasks/ID" \
-H "Authorization: Bearer $ZILO_TOKEN"Answer · 200 OK
{
"id": "string",
"number": "string",
"title": "string",
"description": "string",
"status": "string",
"priority": "string",
"projectId": "string",
"assignee": {
"id": "string",
"email": "string",
"name": "string"
},
"dueDate": "2026-10-17",
"completedAt": "2026-10-17T09:30:00.000Z",
"createdAt": "2026-10-17T09:30:00.000Z",
"updatedAt": "2026-10-17T09:30:00.000Z"
}Try it
Sign in to call it as yourself.
Add a task#
POST/v1/projects/tasks
The assignee is told (the bell in every app).
Body
titlestringrequiredUp to 300 characters.
descriptionstringUp to 8000 characters.
projectIdstringassigneestringDefault: the person themselves when there's no project. Up to 320 characters.
dueDatestringA calendar date, YYYY-MM-DD.
priorityenumOne of
LOW, NORMAL, HIGH, URGENT.statusstringUp to 30 characters.
Answer · 201 Created
idstringnumberstringtitlestringdescriptionstring | nullstatusstringTODO, IN_PROGRESS, REVIEW, DONE…
prioritystringLOW, NORMAL, HIGH or URGENT.
projectIdstring | nullassigneeobject | nullidstring | nullTheir ZiloOne user id.
emailstring | nullnamestringdueDatestring | nullcompletedAtstring | nullcreatedAtstringISO 8601 date and time, UTC, e.g. 2026-10-17T09:30:00.000Z.
updatedAtstringISO 8601 date and time, UTC, e.g. 2026-10-17T09:30:00.000Z.
curl -X POST "https://api.zilomail.in/v1/projects/tasks" \
-H "Authorization: Bearer $ZILO_TOKEN" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{
"title": "Call Sharma Stores about the order",
"dueDate": "2026-10-21",
"priority": "HIGH"
}'Answer · 201 Created
{
"id": "string",
"number": "string",
"title": "string",
"description": "string",
"status": "string",
"priority": "string",
"projectId": "string",
"assignee": {
"id": "string",
"email": "string",
"name": "string"
},
"dueDate": "2026-10-17",
"completedAt": "2026-10-17T09:30:00.000Z",
"createdAt": "2026-10-17T09:30:00.000Z",
"updatedAt": "2026-10-17T09:30:00.000Z"
}Try it
Sign in to call it as yourself.
Change a task#
PATCH/v1/projects/tasks/{id}
Its assignee may change its status; other changes need Tasks: edit.
Path
idstringrequiredAn id this API gave out. Up to 64 characters.
Body
titlestringUp to 300 characters.
descriptionstringUp to 8000 characters.
projectIdstringassigneestringDefault: the person themselves when there's no project. Up to 320 characters.
dueDatestringA calendar date, YYYY-MM-DD.
priorityenumOne of
LOW, NORMAL, HIGH, URGENT.statusstringUp to 30 characters.
Answer · 200 OK
idstringnumberstringtitlestringdescriptionstring | nullstatusstringTODO, IN_PROGRESS, REVIEW, DONE…
prioritystringLOW, NORMAL, HIGH or URGENT.
projectIdstring | nullassigneeobject | nullidstring | nullTheir ZiloOne user id.
emailstring | nullnamestringdueDatestring | nullcompletedAtstring | nullcreatedAtstringISO 8601 date and time, UTC, e.g. 2026-10-17T09:30:00.000Z.
updatedAtstringISO 8601 date and time, UTC, e.g. 2026-10-17T09:30:00.000Z.
curl -X PATCH "https://api.zilomail.in/v1/projects/tasks/ID" \
-H "Authorization: Bearer $ZILO_TOKEN" \
-H "Content-Type: application/json" \
-d '{}'Answer · 200 OK
{
"id": "string",
"number": "string",
"title": "string",
"description": "string",
"status": "string",
"priority": "string",
"projectId": "string",
"assignee": {
"id": "string",
"email": "string",
"name": "string"
},
"dueDate": "2026-10-17",
"completedAt": "2026-10-17T09:30:00.000Z",
"createdAt": "2026-10-17T09:30:00.000Z",
"updatedAt": "2026-10-17T09:30:00.000Z"
}Try it
Sign in to call it as yourself.