Skip to main content
GET
/
v1
/
projects
/
{project_id}
/
recent-activities
Recent Activities
const options = {
  method: 'GET',
  headers: {'x-api-key': '<x-api-key>', 'x-organization-id': '<x-organization-id>'}
};

fetch('https://api.dcycle.io/v1/projects/{project_id}/recent-activities', options)
  .then(res => res.json())
  .then(res => console.log(res))
  .catch(err => console.error(err));
{
  "activity_type": "<string>",
  "entity_id": "<string>",
  "parent_entity_id": {},
  "subject": {},
  "context": {},
  "created_at": {},
  "actor": {}
}

Recent Activities

Get the most recent activities for a project. Aggregates task changes, task comments, output-data value updates, and output-data comments — sorted by most recent first.

Request

Headers

x-api-key
string
required
Your API key for authenticationExample: sk_live_1234567890abcdef
x-organization-id
string
required
Your organization UUIDExample: a8315ef3-dd50-43f8-b7ce-d839e68d51fa

Path Parameters

project_id
string
required
UUID of the project

Query Parameters

limit
integer
default:"4"
Maximum number of activities to return (1–50)

Response

Returns an array of activity objects.
activity_type
string
Type of activity: task, task_comment, output_data, output_data_comment
entity_id
string
UUID of the entity that was changed
parent_entity_id
string | null
UUID of the parent entity (e.g., task ID for a task comment)
subject
string | null
Short description of what changed
context
string | null
Additional context (e.g., comment text, field value)
created_at
datetime
When the activity occurred (ISO 8601)
actor
object | null
User who performed the action, with id, first_name, last_name, profile_img_url

Example

curl "https://api.dcycle.io/v1/projects/${PROJECT_ID}/recent-activities?limit=10" \
  -H "x-api-key: ${DCYCLE_API_KEY}" \
  -H "x-organization-id: ${DCYCLE_ORG_ID}"

Successful Response

[
  {
    "activity_type": "task",
    "entity_id": "task-uuid",
    "parent_entity_id": null,
    "subject": "Upload fleet data",
    "context": "Stage changed to completed",
    "created_at": "2025-06-15T14:30:00Z",
    "actor": {
      "id": "user-uuid",
      "first_name": "Ana",
      "last_name": "García",
      "profile_img_url": "https://..."
    }
  },
  {
    "activity_type": "task_comment",
    "entity_id": "comment-uuid",
    "parent_entity_id": "task-uuid",
    "subject": "Upload fleet data",
    "context": "All vehicle records uploaded for Q1",
    "created_at": "2025-06-15T14:25:00Z",
    "actor": {
      "id": "user-uuid",
      "first_name": "Ana",
      "last_name": "García",
      "profile_img_url": null
    }
  }
]

Common Errors

401 Unauthorized

Cause: Missing or invalid API key
{"detail": "Invalid API key for organization", "code": "INVALID_API_KEY"}

403 Forbidden

Cause: The authenticated user is not a member of the organization
{"detail": "Logged User is not Member of Organization", "code": "LOGGED_USER_NOT_MEMBER"}

404 Not Found

Cause: The project does not exist or belongs to another organization
{"detail": "Not Found"}

List Project Tasks

List all tasks in a project

Get Project

Get project details