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.
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.
Agreed budget for the engagement.
To set this value, specify budget when calling Complete Project.
Reason the project was canceled, with any additional details.
Returned only when status is CANCELED_BY_PROVIDER or CANCELED_BY_CLIENT.
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.
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.
Date and time the project was created.
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.
Project ID.
ID of the site delivered for the project.
Serves as proof of delivery when calling Complete Project.
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.
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.
Marketplace service the project is attributed to.
To set this value, specify serviceName when calling Complete Project.
How the engagement originated.
Current status of the engagement.
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.
Date and time the project was updated.