v1

latestOpenAPI 3.0.12026-07-268028223.9 KB
Projects

List projects

List active projects. Pass include_inactive=true or a status filter to include completed or cancelled projects.

get/v1/projects

Query parameters

book_idstring

Filter by book ID

status'in_progress' | 'overdue' | 'completed' | 'cancelled'

Filter by status

household_idstring

Filter by household ID

projectable_type'Household' | 'Contact' | 'Business'

Filter by related record type

projectable_idstring

Filter by related record ID. Must be used with projectable_type.

project_template_idstring

Filter by project template ID

project_milestone_idstring

Filter by current project milestone ID

assigned_to_idstring

Filter by assigned user ID

updated_sincestring date-time

Filter by updated timestamp

without_projectable'true' | 'false'

When true, return only ownerless projects

include_inactive'true' | 'false'

When true, include completed and cancelled projects unless a status filter is provided

pageinteger

Page number

per_pageinteger

Items per page (1-100, default: 25). Values over 100 will be clamped to 100.

Response

inactive projects included

Example response

{
  "data": [
    {
      "id": "project123xyz",
      "name": "Smith Family Onboarding",
      "book_id": "book123xyz",
      "project_template_id": "template123xyz",
      "project_milestone_id": "milestone123xyz",
      "attachments": [
        {
          "file_name": "onboarding.pdf",
          "file_type": "application/pdf",
          "file_size": 123456,
          "source": "uploaded",
          "signed_id": "signed-blob-id"
        }
      ],
      "projectable": {
        "id": "abc123xyz",
        "name": "Smith Household",
        "person": {
          "id": "abc123xyz",
          "book_id": "book123xyz",
          "household_id": "xyz789abc",
          "contact_id": "cnt456def",
          "role_type": "client",
          "first_name": "John",
          "middle_name": "Robert",
          "last_name": "Doe",
          "salutation": "Mr.",
          "suffix": "Jr.",
          "maiden_name": "Smith",
          "gender": "male",
          "designations": "CPA, CFP",
          "household_role": "head_of_household",
          "preferred_name": "Johnny",
          "date_of_birth": "1985-06-15",
          "job_title": "Software Engineer",
          "ssn": "***-**-6789",
          "drivers_license_number": "******7890",
          "email_addresses": [
            {
              "email": "john.doe@example.com",
              "email_type": "personal",
              "is_primary": true
            }
          ],
          "phone_numbers": [
            {
              "phone_number": "+15555551234",
              "extension": "1234",
              "phone_type": "mobile",
              "is_primary": true
            }
          ],
          "addresses": [
            {
              "line1": "123 Main St",
              "line2": "Apt 4B",
              "city": "New York",
              "state": "NY",
              "zip": "10001",
              "country_code": "US",
              "address_type": "home",
              "is_primary": true
            }
          ],
          "employments": [
            {
              "id": "emp123xyz",
              "person_id": "abc123xyz",
              "business_name": "Acme Corp",
              "role": "Software Engineer",
              "start_date": "2023-01-15",
              "end_date": "2024-12-31",
              "actively_employed": true
            }
          ],
          "custom_fields": {
            "preferred_contact_method": "Email",
            "risk_tolerance": "Moderate"
          }
        }
      },
      "assigned_to": {
        "id": "abc123xyz",
        "email": "user@example.com",
        "first_name": "John",
        "last_name": "Doe",
        "api_access": {
          "auth_type": "personal_access_token",
          "scope": "read_write"
        }
      },
      "created_by": {
        "id": "abc123xyz",
        "email": "user@example.com",
        "first_name": "John",
        "last_name": "Doe",
        "api_access": {
          "auth_type": "personal_access_token",
          "scope": "read_write"
        }
      },
      "project_milestone": {
        "id": "milestone123xyz",
        "guid": "milestone-guid",
        "title": "Initial Setup",
        "project_template_id": "template123xyz",
        "project_milestone_outcomes": [
          {
            "id": "outcome123xyz",
            "label": "Ready for accounts"
          }
        ],
        "project_milestone_form_fields": [
          {
            "id": "field123xyz",
            "guid": "field-guid",
            "label": "Custodian"
          }
        ]
      },
      "project_template": {
        "id": "template123xyz",
        "guid": "template-guid",
        "title": "New Client Onboarding",
        "attachments": [
          {
            "file_name": "onboarding.pdf",
            "file_type": "application/pdf",
            "file_size": 123456,
            "source": "uploaded",
            "signed_id": "signed-blob-id"
          }
        ],
        "project_milestones": [
          {
            "id": "milestone123xyz",
            "guid": "milestone-guid",
            "title": "Initial Setup",
            "project_template_id": "template123xyz",
            "project_milestone_outcomes": [
              {
                "id": "outcome123xyz",
                "label": "Ready for accounts"
              }
            ],
            "project_milestone_form_fields": [
              {
                "id": "field123xyz",
                "guid": "field-guid",
                "label": "Custodian"
              }
            ]
          }
        ]
      },
      "project_form_field_responses": [
        {
          "id": "response123xyz",
          "project_milestone_form_field_id": "field123xyz"
        }
      ]
    }
  ],
  "pagination": {
    "current_page": 1,
    "total_pages": 10,
    "total_count": 100,
    "per_page": 25
  }
}