Skip to main content
Get, list, or filter any entity in the Drawing Index. This is the primary data access tool. Pass an entity type with optional filters. No filters returns a list. With id returns one entity with full detail and children. With filters returns matching results.

When to Use

  • List all projects, drawings, files, sheets, blocks, or features
  • Get a single entity by ID with full detail
  • Filter entities by type, discipline, sheet number, grid intersection, and more
  • Browse the data hierarchy: project > drawing > sheet > block > feature

Parameters

ParameterTypeRequiredDescription
entitystringyesEntity type: "project", "drawing", "file", "sheet", "block", or "feature"
idstringnoGet a single entity by ID
project_idstringconditionalRequired for all entity types except "project"
searchstringnoSubstring search across entity-relevant fields
drawing_idstringnoFilter by drawing (sheets, blocks, features)
sheet_idstringnoFilter by sheet (blocks, features)
sheet_numberstringnoFilter by sheet number (sheets, blocks, features)
disciplinestringnoFilter by discipline code: A, E, S, M, P, FP (sheets)
typestringnoFilter by type (block type or feature type)
identifierstringnoBlock view identifier, e.g. "3" for Detail 3 (blocks)
labelstringnoFeature instance label, e.g. "104", "AHU-1" (features)
block_typestringnoFilter features by parent block type
block_identifierstringnoFilter features by parent block identifier
block_idstringnoFilter features by block (features)
parent_feature_idstringnoGet children of a feature (features)
grid_intersectionstringnoSpatial filter like "B-3" (features)
content_typestringnoFilter files by content type (files)
includestring[]noRequest additional data. Blocks: "ocr", "metadata", "overlays", "changes", "clashes". Features: "parent_chain".
limitnumbernoMax results (default 50, max 100)
offsetnumbernoPagination offset
Entity-specific filters are silently ignored for non-applicable types. For example, discipline is ignored when querying features.

Response

List (no id)

{
  "count": 3,
  "items": [
    {
      "id": "prj_abc",
      "name": "Oak Elementary",
      "description": "K-8 school renovation",
      "drawing_count": 4,
      "created_at": "2025-01-15T10:00:00Z"
    }
  ]
}

Get by ID

When id is provided, the response includes full detail and children. For example, getting a project returns its drawings and files. Getting a sheet returns its blocks with relations.

Examples

List all projects

{
  "entity": "project"
}

Get a project with its drawings and files

{
  "entity": "project",
  "id": "prj_abc"
}

Find sheets by discipline

{
  "entity": "sheet",
  "project_id": "prj_abc",
  "discipline": "A"
}

Get a sheet by number (returns blocks)

{
  "entity": "sheet",
  "project_id": "prj_abc",
  "sheet_number": "A-101"
}

Filter features by type and sheet

{
  "entity": "feature",
  "project_id": "prj_abc",
  "sheet_number": "E-201",
  "type": "duplex_receptacle"
}

Get a block with OCR and overlay data

{
  "entity": "block",
  "project_id": "prj_abc",
  "id": "blk_a101_plan",
  "include": ["ocr", "overlays", "changes"]
}

Spatial query at a grid intersection

{
  "entity": "feature",
  "project_id": "prj_abc",
  "grid_intersection": "B-3",
  "include": ["parent_chain"]
}
  • Search - Semantic + keyword search when you need fuzzy matching
  • Ask - Natural language Q&A when you want a synthesized answer
  • ViewImage - Convert uri fields to viewable URLs