Developers

Tasks

Tasks

Tasks are called activities in the API. A task belongs to one calendar and is assigned to one or more people.

The task object

{
  "id": "0195f0a1-7c2e-7b3a-9d41-6f0a2c8e4810",
  "calendar_id": "0195f0a1-7c2e-7b3a-9d41-6f0a2c8e1b07",
  "title": "Install sign",
  "description": "Gate code 4411. Call Dana on arrival.",
  "starts_at": "2026-10-16T14:00:00+00:00",
  "ends_at": "2026-10-16T15:30:00+00:00",
  "is_all_day_event": false,
  "type": "field",
  "color": "0284c7",
  "staff": [{ "id": "0195f0a1-7c2e-7b3a-9d41-6f0a2c8e1b12", "name": "Dana Driver" }],
  "address": { "text": "1 Main St, Fayetteville, AR", "latitude": 36.06, "longitude": -94.16 },
  "outcome": "scheduled",
  "status": "scheduled",
  "completion_note": null,
  "follow_up_required": false,
  "follow_up_note": null,
  "follow_up_of_id": null,
  "series_id": null,
  "completed_at": null,
  "reviewed_at": null
}

type is one of in_store, field, sacred or personal. Field tasks need an address. outcome is scheduled, completed, partial, missed or cancelled. status is where the task is in review: scheduled, not_done, done, flagged or reviewed.

List tasks

GET /api/v1/activities

Needs activities:read. Returns tasks on calendars you can reach, oldest first.

Parameter Description
calendar_id Only this calendar.
date Only tasks starting this day (YYYY-MM-DD), read in the calendar's timezone.
person_id Only tasks this person is assigned to.
per_page Page size, 1 to 200. Default 50.

Other people's personal time is left out unless you may see it.

Get a task

GET /api/v1/activities/{id}

Needs activities:read.

Create a task

POST /api/v1/activities

Needs activities:create, and permission to create tasks on the calendar.

Field Description
calendar_id Required.
title Required, up to 255 characters.
description Details and instructions for whoever does it. Up to 1000 characters.
starts_at Required. ISO 8601 with an offset.
duration_minutes Required unless is_all_day_event is true. 1 to 1440.
is_all_day_event Optional.
type Required. in_store, field, sacred or personal.
color Optional six-digit hex such as 0284c7.
staff_ids Required. People on the calendar to assign.
address Required for field tasks: line_1, city, region, and optionally line_2 and postal_code.

A task cannot land on someone's sacred time, and the calendar must be open that day. Returns 201 with the task.

curl -X POST https://your-company.dapapp.com/api/v1/activities \
  -H "Authorization: Bearer YOUR_TOKEN" -H "Accept: application/json" \
  -d calendar_id=0195f0a1-7c2e-7b3a-9d41-6f0a2c8e1b07 -d "title=Install sign" -d type=field \
  -d "starts_at=2026-10-16T09:00:00-05:00" -d duration_minutes=90 \
  -d "staff_ids[]=0195f0a1-7c2e-7b3a-9d41-6f0a2c8e1b12" -d "address[line_1]=1 Main St" \
  -d "address[city]=Fayetteville" -d "address[region]=AR"

Change a task

PATCH /api/v1/activities/{id}

Needs activities:update. Send only the fields you want to change; the rest stay as they are. Same fields as creating, except calendar_id, which cannot change.

Delete a task

DELETE /api/v1/activities/{id}

Needs activities:delete, and permission to delete the task. Returns 204.

Cookie settings

Essential cookies keep you signed in and secure, and are always on. Analytics help us see how the site is used.

See every cookie we use