Skip to main content
A Project represents a job — from an initial lead through completion — tied to a company, an account, and the contacts working it. Projects support full CRUD through the Projects endpoints. See Creating a project for a worked example that gathers every required id before making the request.

A project — the central job record in Contractors Cloud. The financial fields from payouts_amount through financials_balance_amount below are omitted from the response entirely when the calling user's account has the "Hide all project financial data" or the contract-access restriction permission enabled. amount_estimated, estimated_total_amount, percent_completed, and percent_sale_close are always present regardless of that permission.

id
integer

The project's unique identifier.

Example:

9103

tenant_id
integer | null

The id of your organization's account.

Example:

12

company_id
integer

The id of the company this project belongs to.

Example:

6

account_id
integer

The id of the account this project belongs to.

Example:

5190

status_id
integer

The id of the project's current status.

Example:

3

event_id
integer | null

The id of the event this project originated from. Null if not set.

Example:

214

lead_id
integer | null

The id of the lead source this project originated from. Null if not set. Only active lead sources can be selected.

Example:

372

storm_id
integer | null

The id of the storm this project is associated with. Null if not associated with a storm.

group_id
integer | null

The id of the group this project belongs to. Null if not grouped.

workflow_id
integer | null

The id of the workflow this project follows. Null if no workflow is assigned.

Example:

58

site_type_id
integer | null

The id of the project's site type, from the site-type reference data (see List available options). Null if not set.

Example:

4

cancellation_id
integer | null

The id of the cancellation reason recorded for this project. Null unless the project was canceled.

rep_primary_id
integer | null

The id of the user assigned as this project's primary rep. Null if unassigned.

Example:

1159

mortgage_company_id
integer | null

The id of the mortgage company financing this project. Null if not financed.

original_milestone_id
integer | null

The id of the milestone this project was on when it was created. Null if not tracked.

current_project_milestone_id
integer | null

The id of the project's current milestone. Null if not on one.

referred_by
integer | null

The id of the contact who referred this project. Null if not referred.

companycam_id
integer | null

An identifier linking this project to a record in a connected third-party service. Null if not connected. Only settable through Update project.

hash
string | null

An opaque value that uniquely identifies this project. Null if not yet generated.

Example:

"f3a1c9e7b2d84f6a9c1e3b7d5a2f9c4e"

number
string

The project's user-facing number (up to 15 characters). A newly created project holds the placeholder value Lead until it's set to a real value — number cannot be set on create, and Update project is the only place it can be set.

Example:

"2025-0184"

name
string | null

The project's name. Null if not set. Required (and cannot be blank) for companies that require project names.

Example:

"Smith Residence - Roof Replacement"

account_name
string | null

The linked account's display name, kept in sync with the account's primary contact or business name. Null if not set.

Example:

"Jane Smith"

address_street
string | null

The street portion of the project's address. Null if not provided.

Example:

"482 Birchwood Ave"

address_city
string | null

The city portion of the project's address. Null if not provided.

Example:

"Madison"

address_state
string | null

The two-letter state or province code for the project's address. Null if not provided.

Example:

"WI"

address_zip
string | null

The postal code for the project's address. Null if not provided.

Example:

"53703"

address_description
string | null

A free-form description of the project's site or address, such as access instructions. Null if not provided.

address_latitude
string | null

The latitude of the project's address, as a decimal string. Null if the address hasn't been geocoded.

Example:

"43.073100"

address_longitude
string | null

The longitude of the project's address, as a decimal string. Null if the address hasn't been geocoded.

Example:

"-89.401200"

needs_appointment
boolean

Whether this project needs an appointment scheduled.

Example:

true

is_in_collections
boolean

Whether this project is currently marked as in collections.

Example:

false

rep_primary_name
string

The primary rep's full name. Reads TBD when no rep is assigned.

Example:

"Jane Doe"

percent_completed
string

The percentage of the project considered complete, formatted as a decimal string.

Example:

"45.00"

percent_sale_close
string

The estimated probability of this project's sale closing, expressed as a percentage and formatted as a decimal string.

Example:

"75.00"

amount_estimated
string

The estimated dollar amount for this project, formatted as a decimal string. Defaults to "0.00" when not provided.

Example:

"18500.00"

mortgage_loan_number
string | null

The loan number associated with the project's financing. Null if not financed or not provided.

estimated_total_amount
string

The project's total estimated amount across all of its estimates, formatted as a decimal string. Always present, regardless of financial data permissions.

Example:

"18500.00"

payouts_amount
string

The total amount paid out on this project (for example, to reps).

Example:

"0.00"

overhead_amount
string

The total overhead amount allocated to this project.

Example:

"0.00"

expenses_pending_amount
string

The total amount of pending (unapproved) expenses on this project.

Example:

"0.00"

expenses_approved_amount
string

The total amount of approved expenses on this project.

Example:

"0.00"

expenses_paid_amount
string

The total amount of expenses paid on this project.

Example:

"0.00"

expenses_denied_amount
string

The total amount of expenses denied on this project.

Example:

"0.00"

expenses_total_amount
string

The total amount of all expenses recorded on this project.

Example:

"0.00"

financials_pending_amount
string

The total pending financial amount on this project.

Example:

"0.00"

financials_approved_amount
string

The total approved financial amount on this project.

Example:

"9250.00"

financials_billable_amount
string

The total billable amount on this project.

Example:

"9250.00"

financials_sold_amount
string

The total sold amount on this project.

Example:

"18500.00"

financials_total_amount
string

The total financial amount recorded on this project.

Example:

"18500.00"

financials_down_payment_amount
string

The total down payment amount recorded on this project.

Example:

"5000.00"

financials_progress_payment_amount
string

The total progress payment amount recorded on this project.

Example:

"4250.00"

financials_final_paid_amount
string

The total final payment amount recorded on this project.

Example:

"0.00"

financials_deductible_paid_amount
string

The total deductible payment amount recorded on this project.

Example:

"0.00"

financials_all_paid_amount
string

The total amount paid across all payment types on this project.

Example:

"9250.00"

financials_total_paid_amount
string

The total amount paid on this project.

Example:

"9250.00"

financials_credit_memo_amount
string

The total credit memo amount applied to this project.

Example:

"0.00"

financials_refund_amount
string

The total amount refunded on this project.

Example:

"0.00"

financials_revenue_amount
string

The total revenue recognized on this project.

Example:

"9250.00"

financials_revenue_approved_amount
string

The total approved revenue recognized on this project.

Example:

"9250.00"

financials_received_amount
string

The total amount received on this project.

Example:

"9250.00"

financials_balance_amount
string

The outstanding balance remaining on this project.

Example:

"9250.00"

last_note_created_at
string | null

Timestamp of the most recent note added to this project, formatted as YYYY-MM-DD HH:MM:SS. Set immediately at creation by the automatic "Project was created." note.

Example:

"2025-02-14 10:05:00"

is_in_collections_at
string | null

Timestamp when this project was marked as in collections. Null if not in collections.

first_contract_at
string | null

Timestamp when the first contract was created for this project. Null if no contract exists yet.

Example:

"2025-02-11 09:30:00"

first_contract_approved_at
string | null

Timestamp when the first contract for this project was approved. Null if not yet approved.

Example:

"2025-02-12 16:00:00"

first_appointment_at
string | null

Timestamp of this project's first scheduled appointment. Null if none has been scheduled.

Example:

"2025-02-10 13:00:00"

Timestamp when an appointment was recommended for this project. Null if not applicable.

sale_closed_at
string | null

Timestamp when the sale was closed for this project. Null if not yet closed.

Example:

"2025-02-12 16:00:00"

referred_at
string | null

Timestamp when this project was referred. Null if not referred.

callback_at
string | null

Timestamp for this project's next callback. Defaults to the project's creation time when no value is provided.

Example:

"2025-02-10 09:15:00"

completed_at
string | null

Timestamp when this project was completed. Null if not yet completed.

created_at
string | null

Timestamp when the project was created, formatted as YYYY-MM-DD HH:MM:SS.

Example:

"2025-02-10 09:15:00"

updated_at
string | null

Timestamp when the project was last updated, formatted as YYYY-MM-DD HH:MM:SS.

Example:

"2025-02-14 10:05:00"

deleted_at
string | null

Timestamp when the project was deleted from the Contractors Cloud web app. Null unless it was deleted there — see the deleted filter on List projects. Deleting a project through this API removes it permanently instead of setting this field.