Skip to content

List offers for an organization

GET
/organizations/{oid}/offers
curl --request GET \
--url 'https://apisandbox.puurk.com/organizations/example/offers?type=template' \
--header 'Authorization: Bearer <token>'

Returns a paginated list of offers for an organization, filterable by date, lead or type.

Client offers and templates are both returned, with or without a date filter, unless type narrows the list. type=template returns offers with no lead_id; type=client returns offers that have one. Combining type=template with lead_id is rejected with 400 invalid_params.

oid
required
string

Organization ID

day
string

Single day filter (YYYY-MM-DD)

start_date
string

Start date (YYYY-MM-DD)

end_date
string

End date (YYYY-MM-DD)

lead_id
string

Filter by lead ID

type
string
Allowed values: template client

Filter by plan type: template (no client) or client. Omit for both.

cursor
string

Pagination cursor

limit
integer

Number of results to return

Successful operation

Media typeapplication/json
object
data
Array<object>
object
id

Unique identifier for the offer

string
type

client — a plan for a specific client; requires lead_id. template — a shareable, client-less plan (the provider app calls these “Templates”); lead_id, lead_name and uid are always null on one.

Null on offers created before the type was recorded, until the backfill stamps them. Newly created offers are never null — an offer created with a lead_id and no type is stored as client.

string
nullable
Allowed values: template client
lead_id

The client this plan is for. Required when type is client or omitted. On a template it is always null in the response: one sent in the request is ignored rather than rejected.

string
nullable
lead_name

Always null on a template offer.

string
nullable
uid

Always null on a template offer.

string
nullable
location_id
string
merge_contract_id
string
merge_contract_payment_total
number
oid
string
organization_name
string
provider_id

Deprecated

string
provider_name

Deprecated

string
providers
Array<string>
title
string
total_price
number
retail_price
number
retail_price_new
number
credit_total
number
credit_total_new
number
deposit_total
number
deposit_total_new
number
photo_url
string
thumbnail_url
string
accepted_at
string
created_at
string
created_by
string
declined_at
string
expired_at
string
pay_in_full_price
number
payment_option
string
Allowed values: finance cash
postpone_reason
string
Allowed values: expensive finance_options questions nervous not_ready time other
status
string
Allowed values: pending accepted declined expired
down_payment
number
tax_total
number
tax_total_new
number
term_cap
number
terms
Array<object>
object
offer_id

Offer these terms belong to

string
uid

User the terms were generated for

string
down_payment

Down payment in cents

number
financed_amount

Amount financed in cents

number
provider_premium_share

Provider’s share of the premium as a fraction between 0 and 1

number
nullable
term_length

Plan length in months

number
monthly_premium

Premium charged per month in cents

number
monthly_provider_premium

Provider share of the monthly premium in cents

number
nullable
monthly_puurk_premium

Puurk share of the monthly premium in cents

number
nullable
monthly_principal

Principal per month in cents

number
monthly_fees

Fees included in each monthly payment in cents

number
nullable
monthly_payout_fees

Payout fees per month in cents

number
nullable
monthly_provider_fees

Provider fees per month in cents

number
nullable
monthly_payment

Monthly payment in cents

number
monthly_opportunity

Monthly opportunity for the provider in cents

number
nullable
total_amount

Total paid over the plan in cents

number
total_premium

Total premium over the plan in cents

number
total_provider_premium

Provider share of the total premium in cents

number
nullable
total_puurk_premium

Puurk share of the total premium in cents

number
nullable
total_principal

Total principal (down payment plus financed amount) in cents

number
total_fees

Total fees over the plan in cents

number
nullable
total_payout_fees

Total payout fees over the plan in cents

number
nullable
total_provider_fees

Total provider fees over the plan in cents

number
nullable
total_opportunity

Total opportunity for the provider in cents

number
nullable
selected_term
number
service_ids
Array<string>
services
Array<object>
object
service_id
string
service_name
string
quantity
number
original_quantity
number
remaining_quantity
number
amount
number
merge_contract_id
string
notes
string
sold_by

User id of the salesperson

string
credit_ids
Array<string>
credits
Array<object>
object
id
string
credit_id
string
credit_name
string
service_id
string
service_name
string
amount
number
percentage
number
calculated_amount
number
merge_contract_id
string
updated_at
string format: date-time
updated_by
string
plan_number
number
shared_at
string format: date-time
shared_by
string
viewed_at
string format: date-time
pagination
object
limit

Page size used for this response

integer
hasMore

Whether more results are available

boolean
nextCursor

Cursor for the next page, null when no more results

string
nullable
Example
{
"data": [
{
"type": "template",
"lead_id": "fLp5zssaLLRcKDbh0DpP",
"lead_name": "John Doe",
"uid": "l8zcL5Va8ei6QQlmhe8n",
"location_id": "g9WWX7DJ0ev6WZ2rOhdQ",
"merge_contract_id": null,
"oid": "iQyjWJf77rrVUx8HJshp",
"organization_name": "Acme Medical",
"provider_id": null,
"provider_name": null,
"providers": [
"4NoHg9a7Yf0QODl1IMcE",
"WKVlP1g5arHJdDa2yBir"
],
"title": "Plan 1234",
"payment_option": "finance",
"postpone_reason": "expensive",
"status": "pending"
}
]
}

Unauthorized