ServiceTitan MCP Server

projects_get_list

Retrieve a filtered list of projects from ServiceTitan by specifying criteria like date ranges, customer ID, project status, or manager IDs. Supports pagination and sorting for efficient data access.

Input Schema

NameRequiredDescriptionDefault
appointmentIdNoFormat - int64. Return project if it contains the specified appointment in the project's jobs
businessUnitIdsNoReturns projects which have at least one of the provided business units assigned
completedBeforeNoFormat - date-time (as date-time in RFC3339). Return projects that are completed before date
completedOnOrAfterNoFormat - date-time (as date-time in RFC3339). Return projects that are completed on or after date
createdBeforeNoFormat - date-time (as date-time in RFC3339). Return items created before certain date/time (in UTC)
createdOnOrAfterNoFormat - date-time (as date-time in RFC3339). Return items created on or after certain date/time (in UTC)
customerIdNoFormat - int64. Filters by customer ID
externalDataApplicationGuidNoFormat - guid. If this guid is provided, external data corresponding to this application guid will be returned.
externalDataKeyNoPerforms lookup by external data key, 'externalDataValues' must also be provided.
externalDataValuesNoPerforms lookup by external data values (maximum 50), 'externalDataKey' must also be provided.
idsNoPerform lookup by multiple IDs (maximum 50)
includeTotalNoWhether total count should be returned
invoiceIdNoFormat - int64. Return projects if it contains the specified invoice
jobIdNoFormat - int64. Return project if it contains the specified job
locationIdNoFormat - int64. Filters by location ID
modifiedBeforeNoFormat - date-time (as date-time in RFC3339). Return projects whose last modification date is before date
modifiedOnOrAfterNoFormat - date-time (as date-time in RFC3339). Return projects whose last modification date is on or after date
pageNoFormat - int32. The logical number of page to return, starting from 1
pageSizeNoFormat - int32. How many records to return (50 by default)
projectManagerIdsNoFilters by id of managers for matching project
projectTypeIdNoFormat - int64. Return projects if it contains the specified project type
sortNoApplies sorting by the specified field: "?sort=+FieldName" for ascending order, "?sort=-FieldName" for descending order. Available fields are: Id, ModifiedOn, CreatedOn, Name, TargetCompletionDate.
startsBeforeNoFormat - date-time (as date-time in RFC3339). Return projects that start before date
startsOnOrAfterNoFormat - date-time (as date-time in RFC3339). Return projects that start on or after date
statusNoReturns projects which have one of the provided statuses. "None" could be passed as one of the values to include projects without a status in the resulting collection.
targetCompletionDateBeforeNoFormat - date-time (as date-time in RFC3339). Return projects whose target completion date is before date
targetCompletionDateOnOrAfterNoFormat - date-time (as date-time in RFC3339). Return projects whose target completion date is on or after date
technicianIdNoFormat - int64. Return project if technician is assigned to any appointments on any job in the project
tenantYesFormat - int64. Tenant ID

Input Schema (JSON Schema)

{ "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "appointmentId": { "anyOf": [ { "anyOf": [ { "not": {} }, { "type": "integer" } ] }, { "type": "null" } ], "description": "Format - int64. Return project if it contains the specified appointment in the project's jobs" }, "businessUnitIds": { "anyOf": [ { "anyOf": [ { "not": {} }, { "type": "string" } ] }, { "type": "null" } ], "description": "Returns projects which have at least one of the provided business units assigned " }, "completedBefore": { "anyOf": [ { "anyOf": [ { "not": {} }, { "format": "date-time", "type": "string" } ] }, { "type": "null" } ], "description": "Format - date-time (as date-time in RFC3339). Return projects that are completed before date" }, "completedOnOrAfter": { "anyOf": [ { "anyOf": [ { "not": {} }, { "format": "date-time", "type": "string" } ] }, { "type": "null" } ], "description": "Format - date-time (as date-time in RFC3339). Return projects that are completed on or after date" }, "createdBefore": { "anyOf": [ { "anyOf": [ { "not": {} }, { "format": "date-time", "type": "string" } ] }, { "type": "null" } ], "description": "Format - date-time (as date-time in RFC3339). Return items created before certain date/time (in UTC)" }, "createdOnOrAfter": { "anyOf": [ { "anyOf": [ { "not": {} }, { "format": "date-time", "type": "string" } ] }, { "type": "null" } ], "description": "Format - date-time (as date-time in RFC3339). Return items created on or after certain date/time (in UTC)" }, "customerId": { "anyOf": [ { "anyOf": [ { "not": {} }, { "type": "integer" } ] }, { "type": "null" } ], "description": "Format - int64. Filters by customer ID" }, "externalDataApplicationGuid": { "anyOf": [ { "anyOf": [ { "not": {} }, { "format": "uuid", "type": "string" } ] }, { "type": "null" } ], "description": "Format - guid. If this guid is provided, external data corresponding to\nthis application guid will be returned." }, "externalDataKey": { "anyOf": [ { "anyOf": [ { "not": {} }, { "type": "string" } ] }, { "type": "null" } ], "description": "Performs lookup by external data key, 'externalDataValues' must also be provided." }, "externalDataValues": { "anyOf": [ { "anyOf": [ { "not": {} }, { "type": "string" } ] }, { "type": "null" } ], "description": "Performs lookup by external data values (maximum 50), 'externalDataKey' must also be provided." }, "ids": { "anyOf": [ { "anyOf": [ { "not": {} }, { "type": "string" } ] }, { "type": "null" } ], "description": "Perform lookup by multiple IDs (maximum 50)" }, "includeTotal": { "anyOf": [ { "anyOf": [ { "not": {} }, { "type": "boolean" } ] }, { "type": "null" } ], "description": "Whether total count should be returned" }, "invoiceId": { "anyOf": [ { "anyOf": [ { "not": {} }, { "type": "integer" } ] }, { "type": "null" } ], "description": "Format - int64. Return projects if it contains the specified invoice" }, "jobId": { "anyOf": [ { "anyOf": [ { "not": {} }, { "type": "integer" } ] }, { "type": "null" } ], "description": "Format - int64. Return project if it contains the specified job" }, "locationId": { "anyOf": [ { "anyOf": [ { "not": {} }, { "type": "integer" } ] }, { "type": "null" } ], "description": "Format - int64. Filters by location ID" }, "modifiedBefore": { "anyOf": [ { "anyOf": [ { "not": {} }, { "format": "date-time", "type": "string" } ] }, { "type": "null" } ], "description": "Format - date-time (as date-time in RFC3339). Return projects whose last modification date is before date" }, "modifiedOnOrAfter": { "anyOf": [ { "anyOf": [ { "not": {} }, { "format": "date-time", "type": "string" } ] }, { "type": "null" } ], "description": "Format - date-time (as date-time in RFC3339). Return projects whose last modification date is on or after date" }, "page": { "anyOf": [ { "anyOf": [ { "not": {} }, { "type": "integer" } ] }, { "type": "null" } ], "description": "Format - int32. The logical number of page to return, starting from 1" }, "pageSize": { "anyOf": [ { "anyOf": [ { "not": {} }, { "type": "integer" } ] }, { "type": "null" } ], "description": "Format - int32. How many records to return (50 by default)" }, "projectManagerIds": { "anyOf": [ { "anyOf": [ { "not": {} }, { "type": "string" } ] }, { "type": "null" } ], "description": "Filters by id of managers for matching project" }, "projectTypeId": { "anyOf": [ { "anyOf": [ { "not": {} }, { "type": "integer" } ] }, { "type": "null" } ], "description": "Format - int64. Return projects if it contains the specified project type" }, "sort": { "anyOf": [ { "anyOf": [ { "not": {} }, { "type": "string" } ] }, { "type": "null" } ], "description": "Applies sorting by the specified field:\n\"?sort=+FieldName\" for ascending order,\n\"?sort=-FieldName\" for descending order.\n\nAvailable fields are: Id, ModifiedOn, CreatedOn, Name, TargetCompletionDate." }, "startsBefore": { "anyOf": [ { "anyOf": [ { "not": {} }, { "format": "date-time", "type": "string" } ] }, { "type": "null" } ], "description": "Format - date-time (as date-time in RFC3339). Return projects that start before date" }, "startsOnOrAfter": { "anyOf": [ { "anyOf": [ { "not": {} }, { "format": "date-time", "type": "string" } ] }, { "type": "null" } ], "description": "Format - date-time (as date-time in RFC3339). Return projects that start on or after date" }, "status": { "anyOf": [ { "anyOf": [ { "not": {} }, { "type": "string" } ] }, { "type": "null" } ], "description": "Returns projects which have one of the provided statuses.\n\"None\" could be passed as one of the values to include projects without a status in the resulting collection." }, "targetCompletionDateBefore": { "anyOf": [ { "anyOf": [ { "not": {} }, { "format": "date-time", "type": "string" } ] }, { "type": "null" } ], "description": "Format - date-time (as date-time in RFC3339). Return projects whose target completion date is before date" }, "targetCompletionDateOnOrAfter": { "anyOf": [ { "anyOf": [ { "not": {} }, { "format": "date-time", "type": "string" } ] }, { "type": "null" } ], "description": "Format - date-time (as date-time in RFC3339). Return projects whose target completion date is on or after date" }, "technicianId": { "anyOf": [ { "anyOf": [ { "not": {} }, { "type": "integer" } ] }, { "type": "null" } ], "description": "Format - int64. Return project if technician is assigned to any appointments on any job in the project" }, "tenant": { "description": "Format - int64. Tenant ID", "type": "integer" } }, "required": [ "tenant" ], "type": "object" }

You must be authenticated.

Other Tools from ServiceTitan MCP Server

Related Tools

ID: mrnu4dtu2r