Projul AI Connect exposes your Projul data through the MCP server your AI uses and the REST API at https://connect.projul.com/v1. A Read key covers every read; a Read-Write key adds the writes.
Contents
Conventions, Clients, Projects and leads, Estimates, Templates and cost-item library, Tasks, Messages, Files, People/teams/tags/trades/taxes/discounts, Webhooks.
Conventions
Id prefixes: cus_ clients, prj_ projects, est_/estv_ estimates/versions, estsec_/estline_ sections/lines, tsk_ tasks, msg_ messages, file_ files, user_ people, tag_ teams/tags, trd_ trades, tax_ tax-rates, disc_ discounts, esttmpl_/sectmpl_/linetmpl_ templates/cost-items, whe_ webhooks. Lists: newest-first, 25-default/100-max, cursor+updated_since (except templates: unpaged/unfiltered; webhooks: paged/no-updated_since). Creates: idempotency-key required. Updates: merge, null clears. Version-stamp required on estimate/template writes, project updates/deletes, client deletes, task assignment/step-updates; optional elsewhere. Money: decimal string. Times: RFC-3339 UTC, trailing-Z, ms-precision, field-names end _at.
Clients
Read by name/email/number/reference or id (archived hidden from both; unarchive still works). Write: create (dedupes on names+email/phone); update (all contacts/addresses/assigned-people); archive/unarchive; delete (cascades to projects/tasks/estimates/invoices; blocked by a paid invoice).
Projects and leads
Read by stage(lead/active/archived)/status/client/reference or id; leads are projects in a lead-stage status. Write: create (existing or inline client, status, address, notes, likelihood, assigned rep/estimator/PM, optional project/schedule-template with start-date and whether crews come along); update those fields; delete. Templates list separately. Project-type/lead-source/tags/dates/access-codes are not on this API.
Estimates
Read by project, client, status, reference or full section tree, or by id with every version/section/line/total. Write: create on a project (empty, templated, or with sections/lines inline) with tax/discounts/intro/contract details, one per project; update name/itemized-flag/visibility/photo-size/reference/project/client; add a version (change order), update its title/dates/visibility/tax/discounts/contract; add/update/delete sections (one level deep, selections, assemblies, display-only) and lines; delete a version or the whole estimate. Writes need draft/pending-review/revision-requested/review-revision-requested/unlocked; whole-estimate delete needs every version there. No publish/send/approve/reject/invoice/payment op.
Templates and cost-item library
List/get/create/update/delete for estimate-templates, section-templates and cost-item-entries alike, a template's sections one call at a time with lines/sub-sections inline; the library is searchable by name/SKU/vendor. Copying a template never changes it.
Tasks
Read by project/status/type/assignee/date-range/reference or id (windows/checklist/repeat-rule inline). Write: create any type with windows, people, teams, a checklist or a repeat-rule (repeating tasks skip checklists); update (windows/steps merged by id); complete/reopen per occurrence; delete. Estimate-meetings and estimate-to-write tasks move leads through the pipeline as in the app.
Messages
Read by parent (project/client/task/estimate) or id; a project's list includes the client conversation, read-only. Write: create (contact-method, direction, outcome, attached files); update; delete. Client messages cannot be sent.
Files
Read by project/task/estimate-version/line-item/message, or a 15-minute download link by id. Write: create an upload, send bytes, complete it; update label/note/attachment-points; delete. Limits: 50MB per file, jpg/jpeg/png/gif/bmp images plus pdf/txt/csv/doc/docx/xls/xlsx docs, 10 uploads/minute per key.
People, teams, tags, trades, taxes and discounts
People: list/get active employees/subcontractors by type/team. Teams: list/get/create/rename/replace-roster/delete. Tags/trades: list/get. Tax-rates: list/get/create (changing/retiring one is in-app). Discounts: list/get; applying one to an estimate is by id.
Webhooks
REST only. Create an endpoint (https address + event-types, or all events); list/get/delete endpoints; rotate a signing-secret; read delivery-history, read/replay one delivery. Endpoints cannot be edited after creation. See How do I get notified when something changes in Projul?.
Questions? Let's Chat.
support@projul.com
(844) 776-5853