Part3 Developers

Rfis list

GET /organization/{orgId}/project/{projectId}/document/rfis

List RFIs in a project

GET
/organization/{orgId}/project/{projectId}/document/rfis
AuthorizationBearer <token>

In: header

Path Parameters

orgId*string

Organization ID. Returned from GET /v1/client/me for the authenticated client; for web-app users it is the active org context.

projectId*string

Project ID. Returned from GET /v1/organization/{orgId}/project. Must belong to the org in the path.

Query Parameters

cursor?string

Pagination cursor

limit?string

Page size (1-50, default 25)

sortBy?string

Sort field (createdAt, updatedAt, dueDate, title, …).

sortOrder?string

Sort direction (default: desc)

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

Filter by DOCUMENT workflow status (e.g. draft, with-consultants, issued, returned, closed, cancelled), comma-separated for OR. NOTE: this is the document lifecycle status, NOT the consultant review outcome — for "pending/approved/rejected submittals" use filter.reviewStatus, and for open/overdue use filter.open / filter.overdue.

Lengthlength <= 500
search?string

Full-text search across title, id, and format-specific text

Lengthlength <= 500
filter.status?string

Same as status — DOCUMENT workflow status (comma-separated OR). Not the review outcome.

Lengthlength <= 500
filter.dueDate?string

Due-date range as "from,to" ISO dates (YYYY-MM-DD). For overdue items prefer filter.overdue=true.

Lengthlength <= 25
filter.createdAt?string
Lengthlength <= 25
includeMeta?string

Include meta.filters with enum values for filterable columns

Value in"true"
filter.ballInCourtRole?string
Lengthlength <= 500
filter.receivedAt?string
Lengthlength <= 25
filter.closedAt?string

Closed-date range as "from,to" ISO dates — when the RFI was closed out. For simple open vs closed, prefer filter.open=true, which keys on the document lifecycle status rather than this timestamp.

Lengthlength <= 25
filter.open?string

Set 'true' for OPEN items only — status is not terminal (not closed/cancelled/locked/accepted/approved). 'open' is about the document lifecycle, independent of consultant review outcome.

Value in"true"
filter.overdue?string

Set 'true' for OVERDUE items only — past the due date AND still open (dueDate < now AND status not terminal). 'overdue' is measured against the due date, not the on-site need-by date.

Value in"true"

Response Body

application/json

curl -X GET "https://api.part3.io/v1/organization/org_8a1b2c3d4e/project/proj_5f9a3c2e8b/document/rfis"
{
  "data": [
    {
      "uid": "string",
      "id": null,
      "format": "string",
      "type": "string",
      "title": null,
      "status": "string",
      "priority": null,
      "dueDate": null,
      "issuedAt": null,
      "createdAt": null,
      "updatedAt": null,
      "projectId": "string",
      "projectName": null,
      "organizationId": null,
      "organizationName": null,
      "referenceNumber": null,
      "receivedAt": null,
      "closedAt": null,
      "ballInCourt": null,
      "assignees": [
        {}
      ],
      "approvers": [
        {}
      ],
      "distributionRecipients": [
        {}
      ],
      "consultants": [
        {}
      ],
      "responseCount": null,
      "pendingCount": null
    }
  ],
  "total": 0,
  "nextCursor": null,
  "hasMore": true,
  "meta": {}
}