Skip to main content
PATCH
/
v1
/
projects
/
{id}
Update a project
curl --request PATCH \
  --url https://api.slant.app/v1/projects/{id} \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "name": "Updated onboarding",
  "description": "<string>",
  "projectable_id": "<string>",
  "project_template_id": "<string>",
  "project_milestone_id": "<string>",
  "assigned_to_id": "<string>"
}
'
{
  "id": "project123xyz",
  "name": "Smith Family Onboarding",
  "book_id": "book123xyz",
  "project_milestone": {
    "id": "milestone123xyz",
    "title": "Initial Setup",
    "project_template_id": "template123xyz",
    "guid": "milestone-guid",
    "color": "<string>",
    "sort_order": 123,
    "created_at": "2023-11-07T05:31:56Z",
    "updated_at": "2023-11-07T05:31:56Z",
    "project_milestone_outcomes": [
      {
        "id": "outcome123xyz",
        "label": "Ready for accounts",
        "default_comment": "<string>",
        "sort_order": 123,
        "target_project_milestone_id": "<string>"
      }
    ],
    "project_milestone_form_fields": [
      {
        "id": "field123xyz",
        "label": "Custodian",
        "required": true,
        "guid": "field-guid",
        "placeholder": "<string>",
        "sort_order": 123,
        "household_record_source": "<string>",
        "select_options": [
          "<string>"
        ]
      }
    ]
  },
  "project_template": {
    "id": "template123xyz",
    "title": "New Client Onboarding",
    "project_milestones": [
      {
        "id": "milestone123xyz",
        "title": "Initial Setup",
        "project_template_id": "template123xyz",
        "guid": "milestone-guid",
        "color": "<string>",
        "sort_order": 123,
        "created_at": "2023-11-07T05:31:56Z",
        "updated_at": "2023-11-07T05:31:56Z",
        "project_milestone_outcomes": [
          {
            "id": "outcome123xyz",
            "label": "Ready for accounts",
            "default_comment": "<string>",
            "sort_order": 123,
            "target_project_milestone_id": "<string>"
          }
        ],
        "project_milestone_form_fields": [
          {
            "id": "field123xyz",
            "label": "Custodian",
            "required": true,
            "guid": "field-guid",
            "placeholder": "<string>",
            "sort_order": 123,
            "household_record_source": "<string>",
            "select_options": [
              "<string>"
            ]
          }
        ]
      }
    ],
    "guid": "template-guid",
    "description": "<string>",
    "enable_kanban_view": true,
    "book_id": "<string>",
    "order_index": 123,
    "book_name": "<string>",
    "book_initials": "<string>",
    "attachments": [
      {
        "file_name": "onboarding.pdf",
        "file_type": "application/pdf",
        "file_size": 123456,
        "source": "uploaded",
        "signed_id": "signed-blob-id",
        "download_url": "<string>",
        "view_url": "<string>"
      }
    ],
    "created_at": "2023-11-07T05:31:56Z",
    "updated_at": "2023-11-07T05:31:56Z"
  },
  "milestone_progress": 123,
  "overall_progress": 123,
  "milestone_updated_at": "2023-11-07T05:31:56Z",
  "completed_at": "2023-11-07T05:31:56Z",
  "project_template_id": "template123xyz",
  "project_milestone_id": "milestone123xyz",
  "assigned_to_id": "<string>",
  "created_by_id": "<string>",
  "household_id": "<string>",
  "projectable_id": "<string>",
  "description": {
    "html": "<string>",
    "markdown": "<string>",
    "nodes": null,
    "preferred_format": "<string>"
  },
  "comments_count": 123,
  "milestone_progresses": [
    {}
  ],
  "visited_project_milestone_ids": [
    "<string>"
  ],
  "attachments": [
    {
      "file_name": "onboarding.pdf",
      "file_type": "application/pdf",
      "file_size": 123456,
      "source": "uploaded",
      "signed_id": "signed-blob-id",
      "download_url": "<string>",
      "view_url": "<string>"
    }
  ],
  "household": {
    "id": "<string>",
    "name": "<string>"
  },
  "projectable": {
    "id": "abc123xyz",
    "name": "Smith Household",
    "person": {
      "id": "abc123xyz",
      "book_id": "book123xyz",
      "first_name": "John",
      "last_name": "Doe",
      "household_id": "xyz789abc",
      "contact_id": "cnt456def",
      "role_type": "client",
      "middle_name": "Robert",
      "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",
          "phone_type": "mobile",
          "is_primary": true,
          "extension": "1234"
        }
      ],
      "addresses": [
        {
          "address_type": "home",
          "is_primary": true,
          "line1": "123 Main St",
          "line2": "Apt 4B",
          "city": "New York",
          "state": "NY",
          "zip": "10001",
          "country_code": "US"
        }
      ],
      "employments": [
        {
          "business_name": "Acme Corp",
          "id": "emp123xyz",
          "person_id": "abc123xyz",
          "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_form_field_responses": [
    {
      "id": "response123xyz",
      "project_milestone_form_field_id": "field123xyz",
      "value": "<unknown>",
      "display_value": "<string>"
    }
  ],
  "created_at": "2023-11-07T05:31:56Z",
  "updated_at": "2023-11-07T05:31:56Z"
}

Authorizations

Authorization
string
header
required

OAuth 2.0 Bearer Token from Clerk authentication

Headers

Idempotency-Key
string

Unique key to ensure idempotent request handling.

Path Parameters

id
string
required

The project ID

Body

application/json
name
string

Project name

Example:

"Updated onboarding"

description
string

Project description as markdown

projectable_type
enum<string> | null

Related record type. Set to null with projectable_id null for ownerless projects.

Available options:
Household,
Contact,
Business
projectable_id
string | null

Related household, contact, or business ID. Set to null with projectable_type null for ownerless projects.

project_template_id
string

Project template ID

project_milestone_id
string

Current project milestone ID. Must belong to the final project template.

assigned_to_id
string

Assigned user ID

Response

project updated

id
string
required

The project ID

Example:

"project123xyz"

name
string
required

The project name

Example:

"Smith Family Onboarding"

status
enum<string>
required

Project status

Available options:
in_progress,
overdue,
completed,
cancelled
book_id
string
required

The book ID

Example:

"book123xyz"

project_milestone
object
required
project_template
object
required
milestone_progress
integer | null

Percent complete for the current milestone

overall_progress
integer | null

Percent complete for the whole project

milestone_updated_at
string<date-time> | null
completed_at
string<date-time> | null
project_template_id
string

The project template ID

Example:

"template123xyz"

project_milestone_id
string

The current project milestone ID

Example:

"milestone123xyz"

assigned_to_id
string | null

Assigned user ID

created_by_id
string | null

Creator user ID

household_id
string | null

Attached household ID for household projects

projectable_type
enum<string> | null

Related record model type, or null for ownerless projects

Available options:
Household,
Contact,
Business
projectable_id
string | null

Related record ID, or null for ownerless projects

description
object
comments_count
integer

Active comment count

milestone_progresses
object[]
visited_project_milestone_ids
string[]
attachments
object[]
household
object
projectable
object

The related household, contact, or business. Null for ownerless projects.

assigned_to
object
created_by
object
project_form_field_responses
object[]
created_at
string<date-time>
updated_at
string<date-time>