---
title: "Create an edge"
method: POST
path: "/api/v1/canvases/{canvasId}/direct/edges"
tags: ["edge"]
---

# Create an edge

`POST /api/v1/canvases/{canvasId}/direct/edges`

## Path parameters

- `canvasId` string, uuid, required

## Request body

- object
  - `id` string, uuid, required
  - `srcNodeId` string, uuid, required
  - `dstNodeId` string, uuid, required
  - `edgeType` 'text' | 'image' | 'video' | 'audio' | 'file', required
  - `srcHandle` string, nullable
  - `dstHandle` string, nullable

## Response `201`

201

- object
  - `id` string, uuid, required
  - `srcNodeId` string, uuid, required
  - `dstNodeId` string, uuid, required
  - `edgeType` 'text' | 'image' | 'video' | 'audio' | 'file', required
  - `srcHandle` string, nullable, required
  - `dstHandle` string, nullable, required
  - `createdByUserId` string, uuid, nullable, required

## Other responses

- `401` — Missing, invalid, expired, or revoked API key.
- `403` — The API key's user is not a member of the requested team.
- `404` — 404
- `409` — 409
- `429` — Rate limit reached — retry after the `Retry-After` header.

---

[API](https://skmtc.net/melius/apis/melius-api.md) · [All operations](https://skmtc.net/melius/apis/melius-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/melius/melius-api/revisions/c48e2a9e4b72/schema)
