Create, list, and delete dependency links between issues
Issue dependencies express relationships between issues to track blocking, related, and duplicate connections in your project.Issue dependencies express relationships between issues to track blocking, related, and duplicate connections in your project.
from praisonaiagents import Agentagent = Agent(name="planner", instructions="Link blocking dependencies between issues.")agent.start("Mark ISS-10 blocked by ISS-7.")
The user links issues as blockers or related work so schedules reflect real delivery order.
DELETE /workspaces/{ws}/issues/{issue_id}/dependencies/{dep_id} returns 404 Not Found if dep_id does not actually belong to issue_id (neither side of the relationship matches). This prevents deleting unrelated dependencies via URL manipulation.
All endpoints scope resources to the workspace in the URL path. Requesting an issue_id or dep_id that belongs to a different workspace returns 404 Not Found (never 200 or 403) to avoid leaking the existence of resources across tenants. The depends_on_issue_id is also validated against the URL workspace.
blocks: Use when one issue must be completed before another can start
related: Use for issues that share context but don’t block each other
duplicates: Use when multiple issues report the same problem
Avoid Circular Dependencies
While the API doesn’t prevent circular dependencies, avoid creating chains where Issue A blocks Issue B, and Issue B blocks Issue A. This creates deadlock situations in project planning.
Leverage Bidirectional Lookup
Dependencies appear when querying either issue in the relationship. Use this to discover related work when viewing any issue in your project.
Clean Up Resolved Dependencies
Delete dependencies when issues are resolved to keep the dependency graph clean and relevant for active work.
Dependency Deletion Security
The API guards against cross-issue dependency tampering by validating that dependency IDs actually belong to the issue in the URL before allowing deletion.