Skip to main content
Returns a paginated list of extracted drawing regions within a project. A region is a bounding-box-delimited area detected on a sheet—such as a detail, plan view, section cut, or title block—along with any text extracted from that area. Filter by region type, drawing type, or layout type to focus on specific content patterns.
Sheet-scoped regions: To list regions belonging to a specific sheet, use the sub-resource endpoint GET /api/open/v1/projects/{projectId}/sheets/{sheetId}/regions. It accepts the same filter and pagination parameters as this endpoint (except sheetId becomes a path parameter and the sheets allowlist param is not available on that route).

Endpoint

GET https://plangrep.com/api/open/v1/projects/{projectId}/regions

Path Parameters

projectId
string
required
The unique identifier of the project whose regions you want to list.

Query Parameters

limit
integer
default:"100"
Maximum number of records to return per page. Must be between 1 and 500.
cursor
string
Pagination cursor returned as nextCursor from a previous response. Omit to fetch the first page.
compact
boolean
When true, artifact URL fields are stripped from each entity, reducing payload size.
sheets
string
Comma-separated list of sheet IDs to restrict results to regions on those sheets.
sheetId
string
Restrict results to regions belonging to a single sheet.
fileId
string
Restrict results to regions belonging to a specific file.
fileName
string
Case-insensitive substring match on the parent file name.
classification
string
Filter by parent file classification. One of: plans, specifications, documents, addenda, mixed, other.
pageNumber
integer
Filter to regions on this specific 1-based page number. Minimum: 1.
regionType
string
Filter by the detected region type (e.g. detail, plan, section, elevation, schedule, title_block).
drawingType
string
Filter by drawing discipline or type (e.g. architectural, structural, mechanical).
layoutType
string
Filter by layout classification of the region.

Response

Returns a ProjectRegionEntityListResponse object.

Pagination Fields

total
integer
Total number of regions matching the current filters across all pages.
limit
integer
The page size limit that was applied to this response.
cursor
string
The cursor value used for this page (echoed back from the request).
nextCursor
string
Opaque cursor to pass as cursor to retrieve the next page. null when there are no more pages.
returnedCount
integer
Number of region entities actually returned in this response.
hasMore
boolean
true if additional pages are available beyond this response.
pageInfo
object
Relay-style page info object.

Data Fields

regions
ProjectRegionEntity[]
Array of extracted drawing region entities.

Example Request

curl -X GET "https://plangrep.com/api/open/v1/projects/proj_abc123/regions?limit=50&regionType=detail&classification=plans" \
  -H "Authorization: Bearer YOUR_API_TOKEN"

Example Response

{
  "total": 310,
  "limit": 50,
  "cursor": null,
  "nextCursor": "eyJvZmZzZXQiOjUwfQ==",
  "returnedCount": 50,
  "hasMore": true,
  "pageInfo": {
    "startCursor": "eyJvZmZzZXQiOjB9",
    "endCursor": "eyJvZmZzZXQiOjQ5fQ==",
    "hasPreviousPage": false,
    "hasNextPage": true
  },
  "regions": [
    {
      "regionId": "region_001",
      "fileId": "file_001",
      "sheetId": "sheet_007",
      "fileName": "Architectural_Plans_SetA.pdf",
      "pageNumber": 12,
      "sheetNumber": "A5.01",
      "label": "DETAIL 3/A5.01",
      "text": "CONT. BEAD OF SEALANT AT ALL EDGES. SEE SPEC 07900.",
      "displayBox": { "left": 0.52, "top": 0.31, "right": 0.74, "bottom": 0.58 },
      "titleDisplayBox": { "left": 0.52, "top": 0.58, "right": 0.74, "bottom": 0.62 },
      "artifacts": [
        { "type": "region_crop", "url": "https://..." }
      ]
    }
  ]
}