Skip to main content
GET
List projects

Authorizations

Authorization
string
header
required

Authenticate with an API access token in the Authorization header: Authorization: Bearer <token>. Create a token from the API Access Tokens page in Contractors Cloud, under Integrations.

Query Parameters

page[number]
integer
default:1

The 1-indexed page number to retrieve.

Required range: x >= 1
page[size]
integer
default:30

The number of results per page (max 100).

Required range: 1 <= x <= 100
filter[id]
integer

Exact match on the project's id.

filter[company_id]
integer

Exact match on the id of the company the project belongs to.

filter[account_id]
integer

Exact match on the id of the account the project belongs to.

filter[status_id]
integer

Exact match on the id of the project's current status.

filter[site_type_id]
integer

Exact match on the id of the project's site type.

filter[workflow_id]
integer

Exact match on the id of the workflow the project follows.

filter[event_id]
integer

Exact match on the id of the event the project originated from.

filter[lead_id]
integer

Exact match on the id of the lead source the project originated from.

filter[storm_id]
integer

Exact match on the id of the storm the project is associated with.

filter[group_id]
integer

Exact match on the id of the group the project belongs to.

filter[mortgage_company_id]
integer

Exact match on the id of the mortgage company financing the project.

filter[name]
string

Partial match on the project's name.

Fuzzy search across the project's name and address, its linked account's name, address, and phone numbers, and the first and last names of any contacts linked to the project or its account.

filter[has_work_orders]
boolean

Limit to projects that do (1) or don't (0) have any work orders.

filter[has_unscheduled_work_orders]
boolean

Limit to projects that do (1) or don't (0) have any unscheduled work orders.

filter[extended_property]
object

Filters by an extended property's key and value, using the syntax filter[extended_property][<key>]=<value>. Matches projects with an extended property whose key equals <key> and whose value exactly equals <value> (comma-separate multiple values to match any of them).

filter[deleted]
boolean

Records deleted from the Contractors Cloud web app are hidden by default. Pass filter[deleted]=true to include them. Deleting a project through Delete project removes it permanently rather than marking it deleted.

include
string

Comma-separated related resources to embed. Allowed: lead (the project's lead source), event, storm, group, status, company, account, workflow, cancellation, referrer, site_type, rep_primary, mortgage_company, cover_photo, extended_properties.

sort
string

Field to sort by. Prefix with - for descending. Allowed: id, status_id, number, name, address_street, address_city, address_state, percent_completed, updated_at, created_at, last_note_created_at, callback_at, first_appointment_at, completed_at, first_contract_approved_at.

Response

A paginated list of projects.

data
object[]
current_page
integer

The 1-indexed page number of the current response.

Example:

1

first_page_url
string

The URL of the first page of results.

from
integer | null

The 1-indexed position of the first record in data for this page. Null when the page is empty.

Example:

1

last_page
integer

The number of the final page in the result set.

Example:

4

last_page_url
string

The URL of the last page of results.

Rendered pagination links (previous, numbered pages, next).

next_page_url
string | null

The URL of the next page, or null if this is the last page.

path
string

The endpoint URL without query parameters.

per_page
integer

The number of records requested per page.

Example:

30

prev_page_url
string | null

The URL of the previous page, or null if this is the first page.

to
integer | null

The 1-indexed position of the last record in data for this page. Null when the page is empty.

Example:

30

total
integer

The total number of records across all pages.

Example:

97