Part3 Developers

Documents list

GET /admin/documents

List documents platform-wide with filtering by format, type, status, project, and organization. This is the most efficient way to query documents — use filters directly instead of iterating through orgs/projects. Formats: bulletin, certificate, change, instruction, quote, rfi, submittal. Statuses: draft, pending, submitted, with-consultants, issued, approved, accepted, returned, resubmitted, revision, closed, locked, cancelled, needs-work. "In-flight" documents are those with status in: pending, submitted, with-consultants, resubmitted, needs-work. Types: Bulletin, CA, CD, Certificate, CO, minute, PC, Quote, report, RFI, SI, Submittal. Search only matches document fields, not project or organization names. Returns paginated results with cursor and total count matching the filters. For complex queries, cross-entity counts, or aggregations, use the explorer_query tool instead.

GET
/admin/documents
AuthorizationBearer <token>

In: header

Query Parameters

cursor?string

Pagination cursor

limit?string

Page size (1-50, default 25)

sortBy?string

Sort field. Supported: createdAt, updatedAt, dueDate, title. Unsupported values fall back to createdAt.

sortOrder?string

Sort direction (default: desc)

Value in"asc" | "desc"
format?string

Filter by document format (comma-separated for multiple). Values: bulletin, certificate, change, instruction, quote, rfi, submittal

Lengthlength <= 500
type?string

Filter by document type code (comma-separated for multiple). Values: Bulletin, CA, CD, Certificate, CO, minute, PC, Quote, report, RFI, SI, Submittal

Lengthlength <= 500
status?string

Filter by document status (comma-separated for multiple). Values: draft, pending, submitted, with-consultants, issued, approved, accepted, returned, resubmitted, revision, closed, locked, cancelled, needs-work. Common groupings — open/in-flight: pending,submitted,with-consultants,resubmitted,needs-work; closed: closed,approved,accepted

Lengthlength <= 500
search?string

Full-text search across title, number, description, RFI questions, CO reasons, comments, review responses, responder names/emails, and division titles

Lengthlength <= 500
projectId?string

Filter by project ID

organizationId?string

Filter by organization ID

include?string

Comma-separated list of optional fields to include. Available: activityCount, assignees, consultants

assigneeId?string

Filter to documents assigned to this user ID

assigneeName?string

Filter to documents where any assignee name contains this text (case-insensitive)

Lengthlength <= 200
filter.format?string
Lengthlength <= 500
filter.type?string
Lengthlength <= 500
filter.status?string
Lengthlength <= 500
filter.dueDate?string
Lengthlength <= 25
filter.createdAt?string
Lengthlength <= 25
includeMeta?string

Include meta.filters with enum values for filterable columns

Value in"true"

Response Body

application/json

application/json

application/json

curl -X GET "https://api.part3.io/v1/admin/documents"
{
  "data": [
    {
      "uid": "doc_2a3b4c5d6e",
      "id": "RFI-014",
      "format": "rfi",
      "type": "RFI",
      "title": "Curtain wall flashing detail",
      "status": "with-consultants",
      "priority": "normal",
      "dueDate": "2026-05-15",
      "issuedAt": "2026-04-21T14:02:00Z",
      "createdAt": "2026-04-21T13:50:00Z",
      "updatedAt": "2026-04-22T09:14:00Z",
      "activityCount": 12,
      "assignees": [
        {
          "userId": "user_77b2c3d4e5",
          "name": "Anika Patel"
        }
      ],
      "consultants": [
        {
          "type": "mechanical",
          "status": "pending"
        }
      ]
    },
    {
      "uid": "doc_9f8e7d6c5b",
      "id": "SUB-08 71 00-001",
      "format": "submittal",
      "type": "Submittal",
      "title": "Door hardware — finish hardware",
      "status": "pending",
      "priority": "normal",
      "dueDate": "2026-05-08",
      "issuedAt": null,
      "createdAt": "2026-04-22T11:00:00Z",
      "updatedAt": "2026-04-22T11:00:00Z"
    }
  ],
  "nextCursor": "eyJzIjoiMjAyNi0wNC0yMlQxMTowMDowMFoiLCJpZCI6ImRvY185ZjhlN2Q2YzViIn0",
  "hasMore": true
}
{
  "error": "Insufficient permissions"
}
{
  "error": "Insufficient permissions"
}