Project Object


A project pairs a marketplace provider with the client who submitted a brief requesting their services. It tracks the engagement from first contact through delivery, including the agreed budget, the client's review, and proof of what was delivered.

Projects are created as part of the marketplace matching flow, so there's no method for creating one. A provider advances a project with Start Project, Complete Project, and Cancel Project.

Properties
briefDescriptionstringRead-onlymaxLength 5000

Client's request, copied from the brief the project was created from.

Read this field to see what the client asked for without retrieving the brief itself.


budgetnumberformat double

Agreed budget for the engagement.

To set this value, specify budget when calling Complete Project.


cancellationInfoCancellationInfo

Reason the project was canceled, with any additional details.

Returned only when status is CANCELED_BY_PROVIDER or CANCELED_BY_CLIENT.


completedProjectSnapshotstringformat WEB_URL

URL of a visual snapshot of the delivered work, such as an uploaded thumbnail image or the URL of the delivered site.

Serves as proof of delivery when calling Complete Project.


contactIdstringformat GUID

ID of the contact representing the client in the provider's contact list.

Use this ID to look up the client's details with the Contacts API.


createdDatestringRead-onlyformat date-time

Date and time the project was created.


expirationDatestringRead-onlyformat date-time

Date and time the project expires if no one acts on it.

A project that's still in NEW status at this time moves to EXPIRED automatically. Once the project leaves NEW status, it no longer expires.


idstringformat GUID

Project ID.


metasiteIdstringformat GUID

ID of the site delivered for the project.

Serves as proof of delivery when calling Complete Project.


reviewReview

Client's review of the completed project, together with the provider's reply.

Available only after the client submits a review, which they can do once the project's status is COMPLETED.


revisionstringformat uint64

Revision number, which increments by 1 each time the project is updated. To prevent conflicting changes, the current revision must be passed when updating the project.


serviceNamestringRead-only

Marketplace service the project is attributed to.

To set this value, specify serviceName when calling Complete Project.


sourcestring

How the engagement originated.


statusstring

Current status of the engagement.


statusTimelineArray <StatusTimelineItem>

NOT marked readOnly: the back-office console maintains this list itself and passes statusTimeline in the update mask, and a readOnly field in a mask is rejected outright. Remove this exemption once ProjectsBO.UpdateProject appends the timeline server-side and the BO client stops sending it.


updatedDatestringRead-onlyformat date-time

Date and time the project was updated.

Did this help?