Part3 Developers

Projects list

GET /organization/{orgId}/project

List projects in an organization

GET
/organization/{orgId}/project
AuthorizationBearer <token>

In: header

Path Parameters

orgId*string

Organization ID. Returned from GET /v1/client/me for client tokens, or any org-list response.

Query Parameters

cursor?string

Cursor for the next page. Pass back the nextCursor from a prior response. Omit on the first page.

limit?string

Max rows in this response. JSON: 1–50 (default 20), paginate via cursor for more. CSV (Accept: text/csv): 1–100,000 (default 100,000 — the cap). Sent as a string for query-param friendliness.

sortBy?string

Sort field. createdAt (default) for "recently created"; lastActivity for "what's been busiest"; updatedAt for change tracking; name for alphabetical exports.

Value in"name" | "createdAt" | "updatedAt" | "lastActivity"
sortOrder?string

Sort direction. Default desc (newest / most recent first).

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

Search by project name (case-insensitive substring match).

Lengthlength <= 500
type?string

Filter by project type. Comma-separated for OR semantics. Values: CA (contract administration), SR (site review).

archived?string

Filter by archived status. "true" = archived only, "false" = active only. Omit to include both.

Value in"true" | "false"
include?string

Comma-separated optional fields. Available: documentCount, contactCount (per-row aggregates), documentsByType, reportsByType (per-type breakdown objects).

includeRecentActivity?string

Attach a recentActivity rollup to each project in the requested time window. Values: 1d (last 24h), 5d, 1w, 2w, 4w. Returns total event count plus a few most-recent items. Mutually exclusive with activitySummary — if both are set, recent activity wins and activitySummary is skipped. Use this for "what changed lately" / triage views.

Value in"1d" | "5d" | "1w" | "2w" | "4w"
activityActions?string

Comma-separated action types to filter the recentActivity rollup (e.g. createDocument,issueDocument,reviewComplete). Ignored unless includeRecentActivity is set.

Lengthlength <= 500
activitySummary?string

Attach an activitySummary bucket array to each project. weekly returns 7×1-day buckets, monthly returns 4×7-day, yearly returns 12×1-month. Use this for sparkline / busyness views. Mutually exclusive with includeRecentActivity.

Value in"weekly" | "monthly" | "yearly"

Response Body

application/json

application/json

application/json

curl -X GET "https://api.part3.io/v1/organization/org_8a1b2c3d4e/project"
{
  "data": [
    {
      "uid": "proj_5f9a3c2e8b",
      "name": "Maple Heights Tower",
      "nameShorthand": "MHT",
      "address": "120 Front St W, Toronto, ON",
      "timezone": "America/Toronto",
      "archived": false,
      "type": "CA",
      "startDate": "2026-01-15T00:00:00Z",
      "endDate": "2027-06-30T00:00:00Z",
      "createdAt": "2026-01-08T19:24:00Z",
      "updatedAt": "2026-04-22T11:00:00Z",
      "documentCount": 142,
      "contactCount": 28,
      "documentsByType": {
        "RFI": 18,
        "Submittal": 64,
        "ChangeOrder": 9
      },
      "reportsByType": {
        "SiteReport": 12,
        "ProgressReport": 4
      }
    },
    {
      "uid": "proj_4e8b2d1f9c",
      "name": "Riverside Mixed-Use",
      "nameShorthand": "RMU",
      "address": "88 River Rd, Calgary, AB",
      "timezone": "America/Edmonton",
      "archived": false,
      "type": "CA",
      "startDate": "2025-09-01T00:00:00Z",
      "endDate": "2026-12-31T00:00:00Z",
      "createdAt": "2025-08-19T15:02:00Z",
      "updatedAt": "2026-04-21T10:18:00Z"
    }
  ],
  "nextCursor": "eyJzIjoiMjAyNS0wOC0xOVQxNTowMjowMFoiLCJpZCI6InByb2pfNGU4YjJkMWY5YyJ9",
  "hasMore": true
}
{
  "error": "Insufficient permissions"
}
{
  "error": "Insufficient permissions"
}
{
  "error": "Insufficient permissions"
}