Tasks
Use the tasks endpoints to read, create, and update to-do items for your team. A task has a title, optional notes and due date, an optional assigned agent, and can be linked to one company, contact, or sale.
List tasks
GET /api/v2/organizations/{organization_id}/tasks
This endpoint supports limit and cursor. Tasks are returned newest
first.
Key response fields:
- Name
task_id- Description
The task identifier used for the task detail endpoint.
- Name
title- Description
Short description of the task.
- Name
notes- Description
Longer notes for the task, when present.
- Name
due_at- Description
When the task is due, when set.
- Name
completed_at- Description
When the task was completed.
nullwhile the task is open.
- Name
agent_id- Description
The assigned agent, when the task is assigned.
- Name
company_id- Description
The linked company, when the task is linked to a company.
- Name
contact_id- Description
The linked contact, when the task is linked to a contact.
- Name
sale_id- Description
The linked sale, when the task is linked to a sale.
- Name
created_at- Description
When the task was created.
List tasks
curl -G https://api.hyperrep.ai/api/v2/organizations/HR_id_example_organization_id/tasks \
-H "X-API-KEY: your-api-key" \
--data-urlencode "limit=25"
Example response
{
"data": [
{
"task_id": "HR_id_example_task_id",
"title": "Send onboarding docs",
"notes": "Use the new template",
"due_at": "2026-07-15T17:00:00Z",
"completed_at": null,
"agent_id": "HR_id_example_agent_id",
"company_id": "HR_id_example_company_id",
"contact_id": null,
"sale_id": null,
"created_at": "2026-07-09T12:00:00Z"
}
],
"pagination": {
"limit": 25,
"cursor": null,
"next_cursor": null,
"has_more": false
}
}
Create a task
POST /api/v2/organizations/{organization_id}/tasks
Use this endpoint to create one task under an organization.
title is required. A task can be linked to at most one of
company_id, contact_id, or sale_id.
Request body fields:
- Name
title- Description
Required short description of the task.
- Name
notes- Description
Optional longer notes for the task.
- Name
due_at- Description
Optional due timestamp in ISO 8601 format, for example
2026-07-15T17:00:00Z.
- Name
agent_id- Description
Optional agent to assign the task to. Must belong to the same organization.
- Name
company_id- Description
Optional company to link the task to.
- Name
contact_id- Description
Optional contact to link the task to.
- Name
sale_id- Description
Optional sale to link the task to.
Create one task
curl -X POST https://api.hyperrep.ai/api/v2/organizations/HR_id_example_organization_id/tasks \
-H "X-API-KEY: your-api-key" \
-H "Content-Type: application/json" \
-d '{
"title": "Send onboarding docs",
"notes": "Use the new template",
"due_at": "2026-07-15T17:00:00Z",
"agent_id": "HR_id_example_agent_id",
"company_id": "HR_id_example_company_id"
}'
Example response
{
"task_id": "HR_id_example_task_id",
"title": "Send onboarding docs",
"notes": "Use the new template",
"due_at": "2026-07-15T17:00:00Z",
"completed_at": null,
"agent_id": "HR_id_example_agent_id",
"company_id": "HR_id_example_company_id",
"contact_id": null,
"sale_id": null,
"created_at": "2026-07-09T12:00:00Z"
}
Get a task
GET /api/v2/organizations/{organization_id}/tasks/{task_id}
Use the task_id returned by the list endpoint.
This endpoint returns one task in the same canonical task shape used by the list endpoint.
Get one task
curl https://api.hyperrep.ai/api/v2/organizations/HR_id_example_organization_id/tasks/HR_id_example_task_id \
-H "X-API-KEY: your-api-key"
Example response
{
"task_id": "HR_id_example_task_id",
"title": "Call back the walk-in lead",
"notes": null,
"due_at": null,
"completed_at": null,
"agent_id": null,
"company_id": null,
"contact_id": null,
"sale_id": null,
"created_at": "2026-07-09T12:00:00Z"
}
Update a task
PATCH /api/v2/organizations/{organization_id}/tasks/{task_id}
Use this endpoint to update one task. Omitted fields are left unchanged.
Set nullable fields to null to clear them. Set completed_at to a
timestamp to complete a task, or null to reopen it.
A task can be linked to at most one of company_id, contact_id, or
sale_id after the update.
Update one task
curl -X PATCH https://api.hyperrep.ai/api/v2/organizations/HR_id_example_organization_id/tasks/HR_id_example_task_id \
-H "X-API-KEY: your-api-key" \
-H "Content-Type: application/json" \
-d '{
"title": "Send onboarding docs",
"completed_at": "2026-07-10T16:30:00Z",
"company_id": null,
"sale_id": "HR_id_example_sale_id"
}'
Example response
{
"task_id": "HR_id_example_task_id",
"title": "Send onboarding docs",
"notes": null,
"due_at": null,
"completed_at": "2026-07-10T16:30:00Z",
"agent_id": null,
"company_id": null,
"contact_id": null,
"sale_id": "HR_id_example_sale_id",
"created_at": "2026-07-09T12:00:00Z"
}