---
title: "Get Public Ferry Program"
method: GET
path: "/v2/public/ferry/programs/{program_id}"
tags: ["ferry-programs"]
---

# Get Public Ferry Program

`GET /v2/public/ferry/programs/{program_id}`

## Path parameters

- `program_id` string, required

## Query parameters

- `workspace_id` string, nullable

## Headers

- `X-Workspace-Code` string

## Response `200`

Successful Response

- GetPublicFerryProgramApiV2PublicFerryProgramsProgramIdGet200Envelope
  - `success` true, required
  - `data` FerryProgramData, required
    - `id` string, required
    - `workspaceId` string, required
    - `templateSlug` string, required
    - `status` 'draft' | 'active' | 'ready' | 'completed' | 'archived', required
    - `plan` 'self_serve' | 'sakura_led' | 'expert_led'
    - `planChangeLocked` boolean
    - `paymentState` 'draft' | 'awaiting_payment' | 'active'
    - `billingCurrency` 'jpy' | 'usd'
    - `recordCount` integer, nullable
    - `listPrice` integer, nullable
    - `quotedPrice` integer, nullable
    - `feeWaived` boolean
    - `feeWaiverReason` string
    - `description` string
    - `expertUserId` integer, nullable
    - `expertReviewThreadId` string, nullable
    - `expertSettings` object
    - `entitlements` object
    - `name` string, required
    - `updatesMarkdown` string
    - `sources` FerryProgramEndpoint[]
      - `id` string, required
      - `kind` string, required
      - `label` string, required
      - `labelJa` string, nullable
      - `role` 'source' | 'destination', required
      - `integrationSlug` string, nullable
      - `channelId` string, nullable
      - `sourceType` string, nullable
      - `objectTypes` string[]
      - `metadata` object
    - `destinations` FerryProgramEndpoint[]
      - `id` string, required
      - `kind` string, required
      - `label` string, required
      - `labelJa` string, nullable
      - `role` 'source' | 'destination', required
      - `integrationSlug` string, nullable
      - `channelId` string, nullable
      - `sourceType` string, nullable
      - `objectTypes` string[]
      - `metadata` object
    - `todos` FerryProgramTodo[]
      - `id` string, required
      - `title` string, required
      - `titleJa` string, nullable
      - `description` string
      - `descriptionJa` string, nullable
      - `category` string
      - `required` boolean
      - `status` 'not_started' | 'in_progress' | 'completed' | 'blocked'
      - `notes` string, nullable
      - `startDate` string, nullable
      - `dueDate` string, nullable
      - `priority` 'P0' | 'P1' | 'P2' | 'P3' | 'P4'
      - `sourceRef` string, nullable
      - `phaseId` string, nullable
      - `parentTodoId` string, nullable
      - `sortOrder` integer, nullable
    - `taskPhases` FerryProgramPhase[]
      - `id` string, required
      - `name` string, required
      - `nameJa` string, nullable
      - `sortOrder` integer
    - `linkedRunIds` string[]
    - `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

---

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