flow

Ingest Revit Export

Upload a contract-v1 JSONL artifact, register an ImportRun, process it into the definition graph, rematerialize the summary, and poll the import-run log.

FlowStatus: Implemented in api-v1

Overview

This flow is the cloud half of the Revit export seam. The Revit Connector add-in produces the contract-v1 JSONL. Project Delivery Graph owns ImportRun and the definition graph the artifact becomes.

Plugin sequence (also on the OpenAPI operations):

  1. POST upload-url
  2. PUT gzip to uploadUrl (or local-dev putLocalRevitImportArtifact)
  3. POST register
  4. POST process, or poll GET until ready / failed

ENABLE_CRON_JOBS=true is required for the minute cron. POST …/process does not replace cron.

HTTP

Do not invent other operation ids. Do not copy request/response schemas here; use generated OpenAPI.

StepMethod and pathOpenAPI operationId
Upload URLPOST /api/v1/projects/{id}/revit-imports/upload-urlrequestRevitImportUploadUrl
Local PUTPUT /api/v1/projects/{id}/revit-imports/local-uploadputLocalRevitImportArtifact
RegisterPOST /api/v1/projects/{id}/revit-importsregisterRevitImport
List logGET /api/v1/projects/{id}/revit-importslistRevitImports
One runGET /api/v1/projects/{id}/revit-imports/{runId}getRevitImport
Process nowPOST /api/v1/projects/{id}/revit-imports/{runId}/processprocessRevitImport
SummaryGET /api/v1/projects/{id}/definition-graph/summarygetProjectDefinitionGraphSummary
RematerializePOST /api/v1/projects/{id}/definition-graph/summary/rematerializerematerializeProjectDefinitionGraphSummary

Code References

  • apps/api-v1/src/modules/project-delivery-graph/core/application/use-cases/RegisterSourceImportUseCase.ts
  • apps/api-v1/src/modules/project-delivery-graph/core/application/use-cases/ProcessSourceImportUseCase.ts
  • apps/api-v1/src/modules/project-delivery-graph/core/application/use-cases/ReadRevitImportsUseCase.ts
  • apps/api-v1/src/modules/project-delivery-graph/core/application/use-cases/RematerializeSummaryViewUseCase.ts
  • apps/api-v1/src/modules/project-delivery-graph/adapters/inbound/rest/revit-imports/revitImports.openapi.ts