StatusChangelog

API Reference

The Weaver API gives you programmatic access to project intelligence, document analysis, schedule risk scoring, and integration sync. All endpoints return JSON and follow REST conventions.

The Weaver API is currently in general availability. API access is included on Growth and Enterprise plans. Contact sales to enable API access on your account.

Base URL

https://api.helloweaver.com/v1

Authentication

All API requests must include your API key in the Authorization header as a Bearer token. You can generate and manage API keys in your account settings under Settings → API Keys.

API key format

Weaver API keys are prefixed with wvr_live_ for production and wvr_test_ for sandbox environments.

Authorization: Bearer wvr_live_••••••••••••••••••••••••••••••••

Never expose API keys in client-side code, public repositories, or logs. Use environment variables. Rotate compromised keys immediately from your API settings page.

# Example authenticated request curl https://api.helloweaver.com/v1/projects \ -H "Authorization: Bearer wvr_live_your_key" \ -H "Content-Type: application/json"

Quick Start

Get up and running with the Weaver API in under 5 minutes.

  1. 1

    Generate an API key

    Go to Settings → API Keys in your Weaver account and create a new key. Copy it somewhere safe — you won't be able to see it again.

  2. 2

    Make your first request

    List your projects to confirm authentication is working:

    GET /v1/projects
    curl https://api.helloweaver.com/v1/projects \ -H "Authorization: Bearer wvr_live_your_key"
  3. 3

    Upload and analyze a document

    Upload a project schedule or contract to extract AI insights:

    POST /v1/documents/upload
    curl -X POST https://api.helloweaver.com/v1/documents/upload \ -H "Authorization: Bearer wvr_live_your_key" \ -F "file=@schedule.pdf" \ -F "project_id=proj_abc123" \ -F "analyze=true"
  4. 4

    Set up a webhook

    Subscribe to events so your system is notified when analysis completes or risk scores change.


SDKs & Libraries

Official SDKs handle authentication, retries, and response parsing automatically.

Node.js / TypeScript
v2.4.1 · MIT
Python
v2.3.0 · MIT
Ruby
v1.8.2 · MIT
npm install @weaver/api

Error Handling

The API uses conventional HTTP status codes. Errors return a JSON body with a code, message, and optional details.

StatusCodeDescription
200Success
400invalid_requestMissing or malformed parameters
401unauthorizedAPI key missing or invalid
403forbiddenAuthenticated but lacking permission
404not_foundResource does not exist
422unprocessableRequest understood but cannot be processed
429rate_limitedToo many requests — back off and retry
500server_errorUnexpected server error — check status page
Error response body
{ "error": { "code": "invalid_request", "message": "The field 'project_id' is required.", "details": { "field": "project_id", "constraint": "required" } } }

Rate Limits

Rate limits are applied per API key, per minute. When a limit is exceeded, the API returns a 429 with a Retry-After header.

PlanRequests / minDoc uploads / dayConcurrent analyses
Starter60502
Growth30050010
EnterpriseCustomUnlimitedCustom

List projects

GET/v1/projectsReturns all projects the API key has access to

Returns a paginated list of your organization's projects, ordered by most recently updated. Use the cursor field to paginate.

Query Parameters

ParameterTypeDescription
limitoptionalintegerNumber of results (default: 20, max: 100)
cursoroptionalstringPagination cursor from previous response
statusoptionalstring Filter by status: active, completed, archived
Response · 200 OK
{ "data": [ { "id": "proj_abc123", "name": "Terminal 4 Expansion", "status": "active", "risk_score": 72, "created_at": "2026-03-01T09:00:00Z", "updated_at": "2026-07-06T14:22:00Z" } ], "pagination": { "cursor": "cur_xyz789", "has_more": true, "total": 47 } }

Upload document

POST/v1/documents/uploadUpload a file for analysis

Accepts multipart/form-data. Supported file types: PDF, DOCX, XLSX, XER (Primavera P6), MPP (MS Project), CSV. Max file size: 100 MB.

Form Parameters

ParameterTypeDescription
filerequiredfileThe document to upload
project_idrequiredstringID of the project to attach this document to
document_typeoptionalstringschedule, contract, rfi, submittal, other
analyzeoptionalbooleanTrigger AI analysis immediately (default: false)
Response · 201 Created
{ "id": "doc_7f2a91", "project_id": "proj_abc123", "filename": "schedule_rev3.pdf", "document_type": "schedule", "size_bytes": 2048420, "status": "analyzing", "analysis_id": "anlys_9b3c12", "uploaded_at": "2026-07-07T10:31:00Z" }

Analyze schedule

POST/v1/schedules/analyzeRun AI schedule analysis on an uploaded document

Triggers a full AI analysis on a previously uploaded schedule document. The analysis runs asynchronously; subscribe to the schedule.analysis.completed webhook to be notified when results are ready.

Request Body

ParameterTypeDescription
document_idrequiredstringID of the uploaded schedule document
baseline_idoptionalstringDocument ID to compare against (variance analysis)
optionsoptionalobjectAnalysis options — see below
Request body
{ "document_id": "doc_7f2a91", "baseline_id": "doc_3a1b00", "options": { "detect_logic_errors": true, "flag_missing_predecessors": true, "check_resource_overallocation": true } }
Response · 202 Accepted
{ "analysis_id": "anlys_9b3c12", "status": "queued", "estimated_duration_s": 45, "webhook_event": "schedule.analysis.completed" }

Score project

POST/v1/risk/scoreGenerate a composite risk score for a project

Generates a risk score from 0–100 for a project based on schedule health, document signals, historical patterns, and real-time flags. Scores above 70 indicate high risk requiring attention.

Response · 200 OK
{ "project_id": "proj_abc123", "score": 72, "risk_level": "high", "drivers": [ { "factor": "schedule_float", "weight": 0.35, "score": 81 }, { "factor": "open_rfis", "weight": 0.25, "score": 64 }, { "factor": "resource_loading", "weight": 0.20, "score": 55 }, { "factor": "weather_forecast", "weight": 0.20, "score": 70 } ], "scored_at": "2026-07-07T10:31:00Z" }

Create webhook

POST/v1/webhooksSubscribe to Weaver events

Register a URL to receive event payloads. Weaver signs each delivery with an X-Weaver-Signature HMAC-SHA256 header so you can verify authenticity.

Event Types

EventTriggered when
document.uploadedA document is successfully received
schedule.analysis.completedSchedule AI analysis finishes
risk.score.changedA project's risk score changes by ≥5 points
risk.flag.createdA new risk flag is raised on a project
project.createdA new project is added
integration.sync.failedA Procore or Autodesk sync fails
Request body
{ "url": "https://your-app.com/webhooks/weaver", "events": [ "schedule.analysis.completed", "risk.score.changed", "risk.flag.created" ], "secret": "your_signing_secret" }

Changelog

Jul 1, 2026
v1.8 Schedule comparison endpoint GA

POST /v1/schedules/compare is now generally available. Compare two schedule revisions and get a structured diff of added, removed, and modified activities.

May 15, 2026
v1.7 Risk scoring v2 + webhook signatures

Risk scoring now includes weather and resource loading factors. All webhook deliveries now include an X-Weaver-Signature header for verification.

Mar 3, 2026
v1.6 Primavera P6 (.XER) support

The document upload endpoint now accepts .xer files from Oracle Primavera P6, with full activity and WBS extraction.

Jan 10, 2026
v1.5 Public API launch

Weaver's REST API opened to Growth and Enterprise customers. Includes projects, documents, schedule analysis, risk scoring, and webhooks.

Ask Weaver
Capital project intelligence