---
title: "Get Public Ferry Diagram"
method: GET
path: "/v2/public/ferry/diagrams/{diagram_id}"
tags: ["ferry-diagrams"]
---

# Get Public Ferry Diagram

`GET /v2/public/ferry/diagrams/{diagram_id}`

## Request

- Base URL: `https://api.sanka.com`
- URL: `https://api.sanka.com/v2/public/ferry/diagrams/{diagram_id}`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/sankahq/apis/sanka-public-api/docs/v2/public/ferry/diagrams/:diagram_id/get.ts> (a function with typed inputs; its response is checked against the schema)

## Path parameters

- `diagram_id` string, required

## Query parameters

- `workspace_id` string, nullable

## Headers

- `X-Workspace-Code` string

## Response `200`

Successful Response

- GetPublicFerryDiagramApiV2PublicFerryDiagramsDiagramIdGet200Envelope
  - `success` true, required
  - `data` FerryDiagramData, required
    - `name` string, required
    - `description` string
    - `nodes` FerryDiagramNode[]
      - `id` string, required
      - `type` 'objectTable' | 'process' | 'note' | 'section', required
      - `position` FerryDiagramPosition, required
        - `x` number, required
        - `y` number, required
      - `data` FerryDiagramNodeData, required
        - `label` string, required
        - `description` string
        - `fields` string[]
        - `moduleName` string, nullable
        - `objectKey` string, nullable
        - `objectSlug` string, nullable
        - `color` 'default' | 'brand' | 'success' | 'warning' | 'danger'
        - `shape` 'rectangle' | 'roundedRectangle' | 'square' | 'circle' | 'diamond' | 'triangle' | 'invertedTriangle' | 'oval' | 'cylinder' | 'pill', nullable
        - `fontSize` number, nullable: Label font size in CSS pixels. Omit it to use the node type's default size.
        - `fillColor` string, nullable: Custom fill color as #RRGGBB. It overrides the fill of the `color` preset. Without a custom text color, clients choose a readable dark or light text color.
        - `strokeColor` string, nullable: Custom outline color as #RRGGBB. It overrides the `color` preset outline.
        - `textColor` string, nullable: Custom label color as #RRGGBB. Without a custom fill, clients draw a white fill so the text stays readable in light and dark themes.
      - `width` number, nullable: Frame width in CSS pixels, supplied together with height. Sections require it (up to 8,000); shaped process nodes and notes may set it (up to 1,600).
      - `height` number, nullable: Frame height in CSS pixels, supplied together with width. Sections require it (up to 8,000); shaped process nodes and notes may set it (up to 1,200).
    - `edges` FerryDiagramEdge[]
      - `id` string, required
      - `source` string, required
      - `target` string, required
      - `label` string
      - `type` 'default' | 'smoothstep' | 'straight'
      - `sourceHandle` string, nullable
      - `strokeWidth` number, nullable: Connector stroke width in CSS pixels.
      - `targetHandle` string, nullable
      - `sourceArrow` boolean: Render an arrowhead at the connector source endpoint.
      - `sourceCardinality` 'one' | 'zero_or_one' | 'one_or_many' | 'zero_or_many', nullable: Optional ER cardinality at the connector source endpoint. Clients render it as one bar, circle plus bar, bar plus Crow's Foot, or circle plus Crow's Foot.
      - `targetArrow` boolean: Render an arrowhead at the connector target endpoint.
      - `targetCardinality` 'one' | 'zero_or_one' | 'one_or_many' | 'zero_or_many', nullable: Optional ER cardinality at the connector target endpoint. Clients render it as one bar, circle plus bar, bar plus Crow's Foot, or circle plus Crow's Foot.
      - `strokeStyle` 'solid' | 'dashed' | 'dotted', nullable: Connector line pattern. Omit it for a solid line.
      - `strokeColor` string, nullable: Custom connector and arrowhead color as #RRGGBB.
      - `fontSize` number, nullable: Connector label font size in CSS pixels. Labels keep explicit line breaks. Omit it to use the default size.
    - `viewport` FerryDiagramViewport
      - `x` number
      - `y` number
      - `zoom` number
    - `id` string, required
    - `workspaceId` string, required
    - `revision` integer, required
    - `createdById` integer, nullable
    - `updatedById` integer, nullable
    - `createdAt` union
      - string, date-time
      - string
    - `updatedAt` union
      - string, date-time
      - string
  - `meta` EnvelopeMeta, required
    - `ctx_id` string, required
    - `pagination` PaginationMeta
      - `page` integer, required
      - `page_size` integer, required
      - `total` integer, required
      - `next_cursor` string, nullable
    - `toast` ToastMessage
      - `variant` 'success' | 'error' | 'info' | 'warning', required
      - `code` string, required
      - `message` string, required
      - `i18n` ToastMessageI18n, required
        - `en` string, required
        - `ja` string, required

## Other responses

- `401`: Error response
- `403`: Error response
- `422`: Error response

## Changes

- **2026-10-14** `1074cf295bac`: 2 warning, 15 info
  - added the new `section` enum value to the `data/nodes/items/type` response property for the response status `200`
  - added the new `straight` enum value to the `data/edges/items/type` response property for the response status `200`
  - added the optional property `data/edges/items/fontSize` to the response with the `200` status
  - added the optional property `data/edges/items/sourceArrow` to the response with the `200` status
  - …13 more
- **2026-07-13** `181809818c49`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/sankahq/apis/sanka-public-api/changes/v2/public/ferry/diagrams/:diagram_id/get.md)

---

[API](https://skmtc.dev/sankahq/apis/sanka-public-api.md) - [All operations](https://skmtc.dev/sankahq/apis/sanka-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/sankahq/apis/sanka-public-api/revisions/16f03a9e3ab9?raw)
