Adds a follow-up task (call, meeting or email with a due date) to a prospect.
A prospect can carry any number of open tasks; adding one never replaces another. The
nearest-due open task is served as nextTask on the prospect, openTaskCount
counts them. A task is overdue once its due instant has passed. Complete it with
POST .../tasks/{taskId}/complete or cancel it with POST .../tasks/{taskId}/cancel.
This emits a prospect.task_added timeline event. Send an Idempotency-Key
header to make a retry safe: the same key returns the task that was created instead of
adding a second one.
Path Parameters
- Type: stringproject
Id requiredProject ID
- Type: stringidrequired
Prospect ID
Body·
The task to add
Request model for adding a follow-up task to a prospect.
- Type: stringdue
Date requiredWhen the task is due: relative ("7d", "1w"), named ("today", "tomorrow", "next_week"), an ISO date ("2026-07-01") or an ISO datetime ("2026-07-01T14:30:00Z"). A date without a time is due by the end of that day, UTC. A task is overdue once the instant has passed; a past instant records a task that is already overdue.
- Type: enumtyperequired
The kind of follow-up: call, meeting, email.
valuescallmeetingemail - Type: null | stringassignee
The team member to assign the task to: a user id, or "me" for yourself. Omit to leave it unassigned. Must be a member of your organisation.
- Type: null | stringnotemin length:1max length:10000
Optional words kept on the task, 1-10000 characters. They are filed with the task or not at all: a refused request files nothing, and a retry re-sends both.
Responses
- application/json
- application/problem+json
- application/problem+json
- application/problem+json
- application/problem+json
- application/problem+json
- application/problem+json
curl 'https://app.propstreet.com/api/v1/projects/{projectId}/prospects/{id}/tasks' \
--request POST \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
--data '{
"type": "call",
"dueDate": "",
"assignee": null,
"note": null
}'
{
"id": "string",
"type": "call",
"dueDateUtc": "2026-10-16T16:23:10.054Z",
"assignee": {
"id": "string",
"name": "string"
},
"overdue": true
}