---
title: "Create a dependency edge"
method: POST
path: "/dependencies"
tags: ["Catalog"]
---

# Create a dependency edge

`POST /dependencies`

## Request

- Base URL: `https://api.marboba.com/v1`
- URL: `https://api.marboba.com/v1/dependencies`
- Auth: HTTP bearer

Records that `from` depends on `to`. Both endpoints must exist; self-loops and duplicate edges (same triple) are rejected.

## Request body

- DependencyEdgeInput
  - `fromKind` 'component' | 'api' | 'resource' | 'system' | 'domain', required
  - `fromId` string, required
  - `toKind` 'component' | 'api' | 'resource' | 'system' | 'domain', required
  - `toId` string, required
  - `type` string
  - `description` string, nullable

## Response `201`

Created

- object
  - `edge` DependencyEdge: A directed `dependsOn` edge between two catalog entities. Edges are immutable; to change one, delete and re-create.
    - `id` string, required
    - `fromKind` 'component' | 'api' | 'resource' | 'system' | 'domain', required
    - `fromId` string, required
    - `toKind` 'component' | 'api' | 'resource' | 'system' | 'domain', required
    - `toId` string, required
    - `type` string, required: Edge type. Default `depends_on`. Common values: depends_on, consumes_api, provides_api, calls, reads_from, writes_to.
    - `description` string, nullable
    - `createdAt` string, date-time, nullable

## Other responses

- `400` (unresolved $ref)
- `401` (unresolved $ref)
- `409`: An edge with the same fromKind+fromId+toKind+toId+type already exists.

---

[API](https://skmtc.dev/marboba/apis/marboba-public-rest-api.md) · [All operations](https://skmtc.dev/marboba/apis/marboba-public-rest-api/llms.txt) · [OpenAPI document](https://skmtc.dev/marboba/apis/marboba-public-rest-api/revisions/5b96d525d88d?raw)
