PlanScan REST API Reference

v1.0 Live

Programmatic interface for automated architectural floor plan ingestion, wall segmentation, room calculations, and CAD takeoff exports.

Base Endpoint

All API requests must be directed to the canonical root URI:

https://planscan.ethix.io/api/
Authentication

Requests require active session cookies or standard HTTP authorization headers:

Authorization: Bearer <API_TOKEN>

Available Endpoints

POST /api/pdfs/
Upload & Analyze PDF Plan

Upload a single-sheet or multi-sheet architectural drawing PDF for automated computer-vision wall detection, room enclosure calculation, and scale extraction.

Request Body (multipart/form-data)
Field Type Required Description
file File (binary) Required Architectural drawing set in PDF format (up to 20MB).
Example cURL Request
curl -X POST "https://planscan.ethix.io/api/pdfs/" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -F "file=@/path/to/floorplan.pdf"
Sample Response (201 Created)
{
  "id": 3,
  "status": "processing",
  "file": "https://planscan.ethix.io/media/pdfs/floorplan.pdf",
  "detail_url": "https://planscan.ethix.io/api/pdfs/3/"
}
GET /api/pdfs/
List User Plans

Returns a chronological list of all plans submitted by the authenticated user, including current status and detection counts.

Sample Response (200 OK)
[
  {
    "id": 3,
    "name": "INDACO-Walls-Blank_Set.pdf",
    "status": "completed",
    "uploaded_at": "2026-10-23T08:50:00Z",
    "sheets_count": 2,
    "detail_url": "https://planscan.ethix.io/api/pdfs/3/"
  }
]
GET /api/pdfs/{id}/
Retrieve Full Takeoff & Geometry

Fetches comprehensive analysis data for a plan: detected sheet names, calibrated scales, individual wall coordinates with linear lengths, and room enclosures with square footages.

Sample Response (200 OK)
{
  "id": 3,
  "filename": "INDACO-Walls-Blank_Set.pdf",
  "status": "completed",
  "sheets": [
    {
      "id": 12,
      "name": "Sheet 2",
      "scale": "1/4\" = 1'-0\"",
      "wall_summary": [
        {
          "wall_type": "A",
          "description": "Standard partition",
          "total_length_ft": 22.1,
          "confidence_score": 0.61
        }
      ],
      "rooms": [
        {
          "area_sf": 153.6,
          "confidence": 0.89,
          "bbox": [530, 890, 810, 1120]
        }
      ]
    }
  ]
}
GET /pdf/status/{id}/
Lightweight Status Check

Lightweight polling endpoint to verify whether background computer vision inference has completed, is still processing, or encountered an error.

{
  "status": "completed"
}
Analyzing Architectural Plan
Detecting walls, callouts, and takeoffs...