Update or complete a contact task
curl --request PATCH \
--url https://my.jobin.cloud/api/openapi/v1/contacts/{contactId}/tasks/{taskId} \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"title": "<string>",
"description": "<string>",
"date": "2023-12-25",
"time": "<string>",
"done": true,
"assigneeId": "<string>",
"queueId": "<string>",
"jobspecId": "<string>",
"pipelineId": "<string>",
"stageName": "<string>",
"subStageName": "<string>"
}
'const options = {
method: 'PATCH',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
title: '<string>',
description: '<string>',
date: '2023-12-25',
time: '<string>',
done: true,
assigneeId: '<string>',
queueId: '<string>',
jobspecId: '<string>',
pipelineId: '<string>',
stageName: '<string>',
subStageName: '<string>'
})
};
fetch('https://my.jobin.cloud/api/openapi/v1/contacts/{contactId}/tasks/{taskId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://my.jobin.cloud/api/openapi/v1/contacts/{contactId}/tasks/{taskId}"
payload = {
"title": "<string>",
"description": "<string>",
"date": "2023-12-25",
"time": "<string>",
"done": True,
"assigneeId": "<string>",
"queueId": "<string>",
"jobspecId": "<string>",
"pipelineId": "<string>",
"stageName": "<string>",
"subStageName": "<string>"
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)$headers=@{}
$headers.Add("x-api-key", "<api-key>")
$headers.Add("Content-Type", "application/json")
$response = Invoke-WebRequest -Uri 'https://my.jobin.cloud/api/openapi/v1/contacts/{contactId}/tasks/{taskId}' -Method PATCH -Headers $headers -ContentType 'application/json' -Body '{
"title": "<string>",
"description": "<string>",
"date": "2023-12-25",
"time": "<string>",
"done": true,
"assigneeId": "<string>",
"queueId": "<string>",
"jobspecId": "<string>",
"pipelineId": "<string>",
"stageName": "<string>",
"subStageName": "<string>"
}'{
"id": "<string>",
"title": "<string>",
"type": "task",
"done": true,
"contactId": "<string>",
"date": "<string>",
"time": "<string>",
"description": "<string>",
"links": [
"<string>"
],
"location": "<string>",
"phoneNumber": "<string>",
"meetingLink": "<string>",
"flagged": true,
"outcome": "<string>",
"priority": "low",
"assigneeId": "<string>",
"candidateIds": [
"<string>"
],
"queueId": "<string>",
"jobspecId": "<string>",
"pipelineId": "<string>",
"stageName": "<string>",
"subStageName": "<string>",
"reminderEnabled": true,
"reminderMinutesBefore": 123,
"source": "<string>",
"readOnly": true,
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
}{
"code": "UNHANDLED_EXCEPTION",
"error": "Unexpected error"
}{
"code": "UNHANDLED_EXCEPTION",
"error": "Unexpected error"
}{
"code": "UNHANDLED_EXCEPTION",
"error": "Unexpected error"
}{
"statusCode": 429,
"error": "Too Many Requests",
"message": "<string>",
"retryAfterSeconds": 123
}{
"code": "UNHANDLED_EXCEPTION",
"error": "Unexpected error"
}{
"code": "UNHANDLED_EXCEPTION",
"error": "Unexpected error"
}Contacts
Update contact task
Update or complete an existing task associated with a contact.
PATCH
/
contacts
/
{contactId}
/
tasks
/
{taskId}
Update or complete a contact task
curl --request PATCH \
--url https://my.jobin.cloud/api/openapi/v1/contacts/{contactId}/tasks/{taskId} \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"title": "<string>",
"description": "<string>",
"date": "2023-12-25",
"time": "<string>",
"done": true,
"assigneeId": "<string>",
"queueId": "<string>",
"jobspecId": "<string>",
"pipelineId": "<string>",
"stageName": "<string>",
"subStageName": "<string>"
}
'const options = {
method: 'PATCH',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
title: '<string>',
description: '<string>',
date: '2023-12-25',
time: '<string>',
done: true,
assigneeId: '<string>',
queueId: '<string>',
jobspecId: '<string>',
pipelineId: '<string>',
stageName: '<string>',
subStageName: '<string>'
})
};
fetch('https://my.jobin.cloud/api/openapi/v1/contacts/{contactId}/tasks/{taskId}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://my.jobin.cloud/api/openapi/v1/contacts/{contactId}/tasks/{taskId}"
payload = {
"title": "<string>",
"description": "<string>",
"date": "2023-12-25",
"time": "<string>",
"done": True,
"assigneeId": "<string>",
"queueId": "<string>",
"jobspecId": "<string>",
"pipelineId": "<string>",
"stageName": "<string>",
"subStageName": "<string>"
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)$headers=@{}
$headers.Add("x-api-key", "<api-key>")
$headers.Add("Content-Type", "application/json")
$response = Invoke-WebRequest -Uri 'https://my.jobin.cloud/api/openapi/v1/contacts/{contactId}/tasks/{taskId}' -Method PATCH -Headers $headers -ContentType 'application/json' -Body '{
"title": "<string>",
"description": "<string>",
"date": "2023-12-25",
"time": "<string>",
"done": true,
"assigneeId": "<string>",
"queueId": "<string>",
"jobspecId": "<string>",
"pipelineId": "<string>",
"stageName": "<string>",
"subStageName": "<string>"
}'{
"id": "<string>",
"title": "<string>",
"type": "task",
"done": true,
"contactId": "<string>",
"date": "<string>",
"time": "<string>",
"description": "<string>",
"links": [
"<string>"
],
"location": "<string>",
"phoneNumber": "<string>",
"meetingLink": "<string>",
"flagged": true,
"outcome": "<string>",
"priority": "low",
"assigneeId": "<string>",
"candidateIds": [
"<string>"
],
"queueId": "<string>",
"jobspecId": "<string>",
"pipelineId": "<string>",
"stageName": "<string>",
"subStageName": "<string>",
"reminderEnabled": true,
"reminderMinutesBefore": 123,
"source": "<string>",
"readOnly": true,
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
}{
"code": "UNHANDLED_EXCEPTION",
"error": "Unexpected error"
}{
"code": "UNHANDLED_EXCEPTION",
"error": "Unexpected error"
}{
"code": "UNHANDLED_EXCEPTION",
"error": "Unexpected error"
}{
"statusCode": 429,
"error": "Too Many Requests",
"message": "<string>",
"retryAfterSeconds": 123
}{
"code": "UNHANDLED_EXCEPTION",
"error": "Unexpected error"
}{
"code": "UNHANDLED_EXCEPTION",
"error": "Unexpected error"
}Update only the supplied fields on the task identified by the path; omitted fields and the task ID remain unchanged. For example, send
{"title":"Review assessment","date":"2026-11-12"} to change the title and due date, or {"done":true} after the work is complete.
Set optional Job, pipeline, stage, sub-stage, queue, or assignee fields to null to clear them. Clear related fields together when leaving some in place would make the relationship invalid.
An enabled reminder requires an assignee. Disable the reminder in the task editor before clearing the assignee; this endpoint does not change reminder settings.
The task must belong to the contact and authenticated workgroup. Supplied Job, pipeline, stage and sub-stage values must form a valid relationship. Synced provider tasks are read-only. Completing a task may continue a waiting sequence and remove the task from open queue counts; retrying a completion keeps the same task.
Rate limit: 30 requests/minute per endpoint and workgroup. Details.Authorizations
Primary public authentication method. Create keys in Jobin.cloud under Workgroups > Integrations > Custom integration.
Path Parameters
Pattern:
^[a-fA-F0-9]{24}$Pattern:
^[a-fA-F0-9]{24}$Body
application/json
Partial update. Omitted fields are preserved. Completing a task may continue a sequence.
Required string length:
1 - 256Maximum string length:
4000Pattern:
^([01]\d|2[0-3]):[0-5]\d$Available options:
low, medium, high Pattern:
^[a-fA-F0-9]{24}$Pattern:
^[a-fA-F0-9]{24}$Pattern:
^[a-fA-F0-9]{24}$Pattern:
^[a-fA-F0-9]{24}$Required string length:
1 - 256Required string length:
1 - 256Response
Updated task.
A native Jobin task associated with a contact.
Task identifier.
Available options:
task, call, meeting Associated contact identifier.
Pattern:
^\d{4}-\d{2}-\d{2}$Pattern:
^\d{2}:\d{2}$Available options:
low, medium, high, null 