Skip to content

Create a contract

POST
/contracts
curl --request POST \
--url https://apisandbox.puurk.com/contracts \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "id": "example", "lead_id": "example", "lead_name": "example", "offer_id": "example", "uid": "example", "oid": "example", "organization_name": "example", "location_id": "example", "provider_id": "example", "provider_name": "example", "providers": [ "example" ], "superseded_contract_id": "example", "superseded_at": "2026-04-15T12:00:00Z", "title": "example", "terms": { "offer_id": "example", "uid": "example", "down_payment": 1, "financed_amount": 1, "provider_premium_share": 1, "term_length": 1, "monthly_premium": 1, "monthly_provider_premium": 1, "monthly_puurk_premium": 1, "monthly_principal": 1, "monthly_fees": 1, "monthly_payout_fees": 1, "monthly_provider_fees": 1, "monthly_payment": 1, "monthly_opportunity": 1, "total_amount": 1, "total_premium": 1, "total_provider_premium": 1, "total_puurk_premium": 1, "total_principal": 1, "total_fees": 1, "total_payout_fees": 1, "total_provider_fees": 1, "total_opportunity": 1 }, "file_name": "example", "signature": "example", "signed_at": "2026-04-15T12:00:00Z", "signed_ip_address": "example", "esign_opt_out": true, "status": "pending", "payoff_balance": 1, "total_paid": 1, "created_at": "2026-04-15T12:00:00Z", "premium_earned": 1, "fulfilled_at": "2026-04-15T12:00:00Z", "service_ids": [ "example" ], "services": [ { "service_id": "example", "service_name": "example", "original_quantity": 1, "quantity": 1, "remaining_quantity": 1, "amount": 1, "merge_contract_id": "example" } ], "notes": "example", "sold_by": "example", "tax_total": 1, "plan_number": 1 }'

Create a new contract

Contract object to create

Media typeapplication/json
object
id

Unique identifier

string
lead_id

Lead ID

string
lead_name

Lead name

string
offer_id

Offer ID

string
uid

User ID

string
oid

Organization ID

string
organization_name

Organization name

string
location_id

Location ID

string
provider_id

Provider ID

string
provider_name

Provider name

string
providers

List of provider IDs

Array<string>
superseded_contract_id

ID of the contract this supersedes

string
superseded_at

Date when superseded

string format: date-time
title

Contract title

string
terms
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
file_name

Contract file name

string
signature

Signature data

string
signed_at

Date when signed

string format: date-time
signed_ip_address

IP address at signing

string
esign_opt_out

Whether e-sign was opted out

boolean
status

Status of the contract

string
Allowed values: pending signed declined expired fulfilled overdue delinquent collections cancelled canceled superseded
payoff_balance

Remaining payoff balance

number format: double
total_paid

Total amount paid

number format: double
created_at

Creation date

string format: date-time
premium_earned

Premium earned

number format: double
fulfilled_at

Date when fulfilled

string format: date-time
service_ids

List of service IDs

Array<string>
services

Services in the contract

Array<object>
object
service_id

Service ID

string
service_name

Service name

string
original_quantity

Original quantity

number format: double
quantity

Current quantity

number format: double
remaining_quantity

Remaining quantity

number format: double
amount

Amount

number format: double
merge_contract_id

Merge contract ID

string
notes

Additional notes

string
sold_by

User who sold the contract

string
tax_total

Total tax

number format: double
plan_number

Plan number

number

Contract created

Media typeapplication/json
object
id

Unique identifier

string
lead_id

Lead ID

string
lead_name

Lead name

string
offer_id

Offer ID

string
uid

User ID

string
oid

Organization ID

string
organization_name

Organization name

string
location_id

Location ID

string
provider_id

Provider ID

string
provider_name

Provider name

string
providers

List of provider IDs

Array<string>
superseded_contract_id

ID of the contract this supersedes

string
superseded_at

Date when superseded

string format: date-time
title

Contract title

string
terms
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
file_name

Contract file name

string
signature

Signature data

string
signed_at

Date when signed

string format: date-time
signed_ip_address

IP address at signing

string
esign_opt_out

Whether e-sign was opted out

boolean
status

Status of the contract

string
Allowed values: pending signed declined expired fulfilled overdue delinquent collections cancelled canceled superseded
payoff_balance

Remaining payoff balance

number format: double
total_paid

Total amount paid

number format: double
created_at

Creation date

string format: date-time
premium_earned

Premium earned

number format: double
fulfilled_at

Date when fulfilled

string format: date-time
service_ids

List of service IDs

Array<string>
services

Services in the contract

Array<object>
object
service_id

Service ID

string
service_name

Service name

string
original_quantity

Original quantity

number format: double
quantity

Current quantity

number format: double
remaining_quantity

Remaining quantity

number format: double
amount

Amount

number format: double
merge_contract_id

Merge contract ID

string
notes

Additional notes

string
sold_by

User who sold the contract

string
tax_total

Total tax

number format: double
plan_number

Plan number

number
Example
{
"status": "pending"
}

Invalid input

Unauthorized