---
title: "Add dependency — GanttFather API"
description: "Add or upsert one predecessor without touching the rest."
canonical: "https://ganttfather.com/docs/api/add-dependency/"
locale: "en"
category: "product"
---

# Add dependency — GanttFather API

API reference [AI assistants (MCP)](https://ganttfather.com/docs/ai-agent/)

## Getting started

- [Introduction](https://ganttfather.com/docs/api/introduction/)
- [Authentication](https://ganttfather.com/docs/api/authentication/)
- [Pagination](https://ganttfather.com/docs/api/pagination/)
- [Rate limits & quotas](https://ganttfather.com/docs/api/rate-limits/)
- [Errors](https://ganttfather.com/docs/api/errors/)

## Projects

- [GET List projects](https://ganttfather.com/docs/api/list-projects/)
- [GET Get project](https://ganttfather.com/docs/api/get-project/)

## Tasks

- [GET List tasks](https://ganttfather.com/docs/api/list-tasks/)
- [GET Get task](https://ganttfather.com/docs/api/get-task/)
- [POST Create task](https://ganttfather.com/docs/api/create-task/)
- [PATCH Update task](https://ganttfather.com/docs/api/update-task/)
- [DELETE Delete task](https://ganttfather.com/docs/api/delete-task/)
- [POST Reorder tasks](https://ganttfather.com/docs/api/reorder-tasks/)
- [PUT Set assignees](https://ganttfather.com/docs/api/set-assignees/)

## Dependencies

- [GET List dependencies](https://ganttfather.com/docs/api/list-dependencies/)
- [PUT Set dependencies](https://ganttfather.com/docs/api/set-dependencies/)
- [POST Add dependency](https://ganttfather.com/docs/api/add-dependency/)
- [DELETE Remove dependency](https://ganttfather.com/docs/api/remove-dependency/)

## Resources

- [GET List resources](https://ganttfather.com/docs/api/list-resources/)
- [POST Create resource](https://ganttfather.com/docs/api/create-resource/)
- [PATCH Update resource](https://ganttfather.com/docs/api/update-resource/)
- [DELETE Delete resource](https://ganttfather.com/docs/api/delete-resource/)

## Members

- [GET List members](https://ganttfather.com/docs/api/list-members/)

 Dependencies / **Add dependency**

# Add dependency

 POST

 Updated Jul 4, 2026

 Adds a single predecessor to the task, leaving its other predecessors untouched. If the predecessor already exists, its type / lag are upserted (updated in place).

 On success the API returns 200 OK .

## Path parameters

 Name Type Required Description

 taskId string (uuid) Yes The dependent task.

## Request body

 Name Type Required Description

 predecessorId string (uuid) Yes The predecessor task.

 type string No FS (default), SS , FF , or SF .

 lag integer No Days, -365 … 365 . Defaults to 0 .

 Same graph rules as [Set dependencies](https://ganttfather.com/docs/api/set-dependencies/): same project, siblings only, no cycles, 100-per-task cap.

 curl -X POST https://api.ganttfather.com/v1/tasks/{taskId}/dependencies \
 -H "Authorization: Bearer glt_YOUR_TOKEN" \
 -H "Content-Type: application/json" \
 -d '{ "predecessorId": "0198f1a2-4444-7c9e-9a1f-2d4e5f6a7b8c", "type": "SS", "lag": 2 }'

 Response 200 OK

 {
 "taskId": "0198f1a2-6b3d-7c9e-9a1f-2d4e5f6a7b8c",
 "predecessorId": "0198f1a2-4444-7c9e-9a1f-2d4e5f6a7b8c",
 "changed": true
}

 Rather not write REST?

## Connect an AI assistant instead.

 [Explore MCP setup →](https://ganttfather.com/docs/ai-agent/)
