Skip to main content
Returns paginated sections extracted from one specification document. This endpoint exposes CSI-like sections such as 03 30 00; outline-only headings such as 1.0 are intentionally filtered out.

Endpoint

GET https://plangrep.com/api/open/v1/projects/{projectId}/specifications/{specId}/sections

Path Parameters

projectId
string
required
The unique identifier of the project that owns the specification document.
specId
string
required
The unique identifier of the uploaded specification document.

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 section.
sectionNumber
string
Filter to sections with this exact section number, such as 03 30 00.
pageStart
integer
Filter to sections whose content starts at or after this 1-based page number. Minimum: 1.
pageEnd
integer
Filter to sections whose content ends at or before this 1-based page number. Minimum: 1.

Response

Returns a ProjectSpecificationSectionEntityListResponse object.

Pagination Fields

total
integer
Total number of sections 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 section entities returned in this response.
hasMore
boolean
true if additional pages are available beyond this response.
pageInfo
object
Relay-style page info object.

Data Fields

sections
ProjectSpecificationSectionEntity[]
Array of specification section summary entities.

Example Request

curl -X GET "https://plangrep.com/api/open/v1/projects/proj_abc123/specifications/spec_001/sections?limit=20&sectionNumber=03%2030%2000" \
  -H "Authorization: Bearer YOUR_API_TOKEN"

Example Response

{
  "total": 48,
  "limit": 20,
  "cursor": null,
  "nextCursor": "eyJvZmZzZXQiOjIwfQ==",
  "returnedCount": 20,
  "hasMore": true,
  "pageInfo": {
    "startCursor": "eyJvZmZzZXQiOjB9",
    "endCursor": "eyJvZmZzZXQiOjE5fQ==",
    "hasPreviousPage": false,
    "hasNextPage": true
  },
  "sections": [
    {
      "sectionId": "section_001",
      "specId": "spec_001",
      "sectionNumber": "03 30 00",
      "sectionTitle": "Cast-In-Place Concrete",
      "pageStart": 45,
      "pageEnd": 62,
      "textLength": 84231,
      "artifacts": [
        {
          "type": "specification_file",
          "url": "https://...",
          "readWith": "plangrep_show_artifact_file"
        }
      ]
    }
  ]
}

Error Responses

StatusCodeDescription
400invalid_requestInvalid pagination or filter value.
401unauthorizedMissing or invalid Bearer token.
404open_api_specification_not_foundNo specification document exists for this specId in the project.