Skip to main content
GET
Show a public peer-to-peer program page

Path Parameters

clientSlugOrId
string
required

Organization identifier from the public URL. The controller accepts a numeric client id or a slug generated from the client organization name and uses it to scope the program lookup.

programSlug
string
required

Peer-to-peer program slug in name-id format. The controller extracts the trailing numeric program id and verifies the program belongs to the resolved client and has program_type set to peer_to_peer.

Response

Public peer-to-peer program data.

id
integer
required

Program id extracted from the route slug.

Example:

42

client_id
integer
required

Owning client id.

Example:

207

name
string
required

Program display name.

Example:

"Sponsor a Student"

slug
string
required

Canonical name-id slug generated from the program name and id.

Example:

"sponsor-a-student-42"

organization
object
required
recipients
object[]
required

Visible recipient cards built from entity records, profile uploads, and donation totals.

description
string

Program info text from program settings.

Example:

"Help students reach their fundraising goals."

cover_image_url
string | null

Public campaign image URL from the program placeholder setting.

Example:

"https://s3-us-west-1.amazonaws.com/hys/banner.jpg"

donation_target
number<float> | null

Overall campaign donation target from program settings when configured.

Example:

50000

total_raised
number<float> | null

Sum of donations to visible recipients. Null when settings hide donation amounts.

Example:

12450

progress_percent
number<float> | null

Campaign progress percentage when a positive target and visible donation amounts are available.

Example:

24.9

recipient_count
integer

Count of visible recipients returned in the recipients array.

Example:

18

checkout_setting_id
integer | null

Program setting id used by checkout for this campaign.

Example:

901

organization_name
string

Organization name duplicated for frontend compatibility.

Example:

"Acme Foundation"

show_donation_amounts
boolean

Whether public responses may show raised amounts.

Example:

true

show_donor_names
enum<string>

How donor names are displayed on recipient profiles.

Available options:
full,
first_initial,
anonymous
Example:

"full"

allow_recurring_donations
boolean

Whether checkout may offer recurring gifts for this peer-to-peer campaign.

Example:

true

completed_accept_donations
boolean

Whether recipients that have met their target can continue accepting donations.

Example:

true

login_box
enum<string>

Legacy frontend flag controlling donor login UI visibility.

Available options:
0,
1
Example:

"1"

accepts_donations
boolean

True when at least one visible recipient can receive donations.

Example:

true

settings
object

Public subset of program settings used by the checkout and public campaign UI.