Documents list
GET /organization/{orgId}/project/{projectId}/document
List documents in a project
Authorization
bearer In: header
Path Parameters
Organization ID. Returned from GET /v1/client/me for the authenticated client; for web-app users it is the active org context.
Project ID. Returned from GET /v1/organization/{orgId}/project. Must belong to the org in the path.
Query Parameters
Cursor for the next page. Pass back the nextCursor from a prior response. Omit on the first page.
Page size, 1–50 (default 20). Sent as a string for query-param friendliness.
Sort field. createdAt (default) is most useful for "recently created" feeds; dueDate for "what's due next"; updatedAt for change tracking; title for alphabetical exports.
"createdAt" | "updatedAt" | "dueDate" | "title"Sort direction. Default desc (newest first).
"asc" | "desc"Full-text search. Matches across title, human-readable id (e.g. "RFI-014"), description, RFI questions, change-order reasons, comments, review responses, responder names/emails, and submittal division titles. Case-insensitive.
length <= 500Filter by document format. Comma-separated for OR semantics. Values: bulletin, certificate, change, instruction, quote, rfi, submittal.
Filter by finer-grained document type code. Comma-separated for OR semantics. Values: Bulletin, CA, CD, Certificate, CO, minute, PC, Quote, report, RFI, SI, Submittal.
Filter by lifecycle status. Comma-separated for OR semantics. Values: draft, pending, submitted, with-consultants, issued, approved, accepted, returned, resubmitted, revision, closed, locked, cancelled, needs-work.
Due-date range filter, "YYYY-MM-DD,YYYY-MM-DD" (from,to). Either side is optional — "2026-05-01," is "from May 1 onwards", ",2026-05-31" is "up to May 31".
Created-date range filter, "YYYY-MM-DD,YYYY-MM-DD" (from,to). Same open-bound semantics as dueDate.
Comma-separated optional fields to include in each document. Available: activityCount (total activity entries — extra DB query per page), assignees (assigned user IDs/names), consultants (consultant disciplines + per-consultant review status).
Filter to documents assigned to a specific user (Part3 user UID). For "documents assigned to me" use the authenticated user's UID from /v1/me.
Filter where any assignee's display name contains this substring (case-insensitive). Use for "everything assigned to anyone named Anika" lookups.
length <= 200Response Body
application/json
application/json
application/json
curl -X GET "https://api.part3.io/v1/organization/org_8a1b2c3d4e/project/proj_5f9a3c2e8b/document"{
"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"
}