---
title: "GET /pipelines/{reference}"
method: GET
path: "/pipelines/{reference}"
tags: ["fundraising"]
---

# GET /pipelines/{reference}

`GET /pipelines/{reference}`

Fetch a fundraising board with its columns

## Path parameters

- `reference` string, required

## Response `200`

OK

- ServerFetchBoardResponse
  - `columns` MalakFundraisingPipelineColumn[], required
    - `column_type` 'normal' | 'closed'
    - `created_at` string
    - `description` string
    - `fundraising_pipeline_id` string
    - `id` string
    - `investors_count` integer
    - `reference` string
    - `title` string
    - `updated_at` string
  - `contacts` MalakFundraiseContact[], required
    - `contact` MalakContact
      - `city` string — Legacy lmao. should be address but migrations bit ugh :))
      - `company` string
      - `created_at` string
      - `created_by` string — User who added/created this contact
      - `email` string
      - `first_name` string
      - `id` string
      - `last_name` string
      - `lists` MalakContactListMapping[]
        - `contact_id` string
        - `created_at` string
        - `created_by` string
        - `id` string
        - `list` MalakContactList
          - `created_at` string
          - `created_by` string
          - `id` string
          - `reference` string
          - `title` string
          - `updated_at` string
          - `workspace_id` string
        - `list_id` string
        - `reference` string
        - `updated_at` string
      - `metadata` MalakCustomContactMetadata
      - `notes` string
      - `owner_id` string — User who owns the contact. Does not mean who added the contact but who chases or follows up officially with the contact
      - `phone` string
      - `reference` string
      - `updated_at` string
      - `workspace_id` string
    - `contact_id` string
    - `created_at` string
    - `deal_details` MalakFundraiseContactDealDetails
      - `can_lead_round` boolean
      - `check_size` integer
      - `created_at` string
      - `fundraising_pipeline_column_contact_id` string
      - `id` string
      - `initial_contact` string
      - `rating` integer
      - `reference` string
      - `updated_at` string
    - `fundraising_pipeline_column_id` string
    - `fundraising_pipeline_id` string
    - `id` string
    - `reference` string
    - `updated_at` string
  - `message` string, required
  - `pipeline` MalakFundraisingPipeline, required
    - `closed_amount` integer — this is being updated dynamically by postgres triggers We also use to calculate progress
    - `created_at` string
    - `description` string
    - `expected_close_date` string
    - `id` string
    - `is_closed` boolean
    - `reference` string
    - `stage` 'family_and_friend' | 'pre_seed' | 'bridge_round' | 'seed' | 'series_a' | 'series_b' | 'series_c'
    - `start_date` string — Can be in the future
    - `target_amount` integer
    - `title` string
    - `updated_at` string
    - `workspace_id` string
  - `positions` MalakFundraiseContactPosition[], required
    - `fundraising_pipeline_column_contact_id` string
    - `id` string
    - `order_index` integer
    - `reference` string

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `404` — Not Found
- `500` — Internal Server Error

---

[API](https://skmtc.net/ayinke-llc/apis/malak-s-api-documentation.md) · [All operations](https://skmtc.net/ayinke-llc/apis/malak-s-api-documentation/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/ayinke-llc/malak-s-api-documentation/versions/3dff99ea5963/schema)
