---
title: "Retrieves full project details by Project ID, including sections, team members with rates and permissions, and project tags."
method: GET
path: "/api/Project/{id}"
tags: ["Project"]
---

# Retrieves full project details by Project ID, including sections, team members with rates and permissions, and project tags.

`GET /api/Project/{id}`

## Path parameters

- `id` integer, required

## Response `200`

Returns full project details including sections, members, and tags.

- ProjectDetails — Full project details including sections, team members with rates/permissions, and project tags.
  - `ProjectID` integer — Unique identifier for the project.
  - `Title` string — Project title/name.
  - `ProjectCode` string — Short reference code for the project.
  - `Notes` string — Project description or notes.
  - `CompanyName` string — Name of the customer company this project belongs to.
  - `CompanyIDFK` integer — The customer company ID this project is linked to.
  - `ProjectOwnerUserIDFK` integer — User ID of the project owner/manager.
  - `ProjectStatusCode` string — Project status code. Per-account configurable. Default codes (NotStarted, InProgress, Complete, OnHold) are seeded for every account; admins may add custom codes via the Project Statuses settings panel. Codes are unique within an account and stable once created.
  - `ProjectStatusName` string — Display name of the project status (e.g. "In Progress", "At Risk").
  - `ProjectStatusColor` string — Hex colour assigned to the project status (e.g. "#F0AD4E").
  - `ProjectStatusIsNotStarted` boolean — True if this is the account's default-for-new-projects status (one row per account).
  - `ProjectStatusIsComplete` boolean — True if this status marks the project as complete (one row per account).
  - `isArchived` boolean — Whether the project is archived. Archived projects are hidden from default views.
  - `ProjectBillableTypeCode` string — Possible values: CategoryHourly, NoRate, NotBillable, PersonHourly, ProjectHourly
  - `ProjectBudgetTypeCode` string — Possible Values: CategoryHours, NoBudget, PersonHours, ProjectFees, ProjectHours
  - `BudgetAmount` number, double — Monetary budget allocated to the project.
  - `BudgetHours` number, double — Hours budget allocated to the project.
  - `ProjectHourlyRate` number, double — The project-level hourly rate (when billing type is ProjectHourly).
  - `ProjectCategoryIDFK` integer — The project category ID, if categorised.
  - `ProjectCategoryName` string — Name of the project category.
  - `isTaskRequiredOnTimesheet` boolean — Whether users must select a task when logging time to this project.
  - `DefaultAccountTaskTypeIDFK` integer — The default task type ID used for new tasks in this project.
  - `DefaultAccountTaskTypeName` string — Name of the default task type.
  - `ProjectCategoryColor` string — Html Hex Color Code starting with #
  - `StartDate` string, date-time — Planned start date for the project.
  - `EndDate` string, date-time — Planned end date for the project.
  - `Sections` ProjectSectionDetails[] — List of sections (task groups) within this project.
    - `SectionID` integer — Unique identifier for the section.
    - `Title` string — Section title/name.
    - `StartDate` string, date-time — Planned start date for the section.
    - `EndDate` string, date-time — Planned end date for the section.
    - `DisplayOrder` integer — Sort order position for display.
  - `Members` ProjectMemberDetails[] — List of team members assigned to this project.
    - `UserIDFK` integer — The user ID of the project member.
    - `ProjectIDFK` integer — The project this membership belongs to.
    - `Firstname` string — Member's first name.
    - `Lastname` string — Member's last name.
    - `Fullname` string — Member's full display name.
    - `Email` string — Member's email address.
    - `CostAmount` number, double — Cost rate per hour for this member on this project.
    - `RateAmount` number, double — Bill rate per hour for this member on this project.
    - `BudgetAmount` number, double — Budget amount allocated to this member on this project.
    - `isMemberDisabled` boolean — Whether this member's access to the project is disabled.
    - `isTimesheetAllowed` boolean — Whether this member can log timesheets to this project.
    - `isTimesheetApprover` boolean — Whether this member can approve timesheets on this project.
    - `isTimesheetApprovalRequired` boolean — Whether this member's timesheets require approval.
    - `canCreateTasks` boolean — Whether this member can create tasks in this project.
    - `canDeleteTasks` boolean — Whether this member can delete tasks in this project.
    - `canCommentOnTasks` boolean — Whether this member can comment on tasks in this project.
    - `canUpdateTasks` boolean — Whether this member can update tasks in this project.
  - `ProjectTags` ProjectTagItem[] — List of tags applied to this project.
    - `ProjectTagID` integer — Unique identifier for the project tag.
    - `Name` string — Tag name.
  - `DateCreated` string, date-time — Date the project was created.
  - `DateUpdated` string, date-time — Date the project was last updated.
  - `ViewProjectURL` string — URL to view this project in the Avaza web application.
  - `CustomFields` CustomFieldValueItem[] — Custom field values set on this project, in display order. Fields with no value are not included. Omitted entirely when the account's Custom Fields feature is disabled (external contact tokens only see fields with "Everyone" visibility). See GET /api/CustomFieldDefinition for the account's field definitions.
    - `CustomFieldDefinitionID` integer — Unique identifier of the custom field definition this value belongs to.
    - `Name` string — Display name of the custom field.
    - `DataTypeCode` string — Data type of the field. Values: ShortText, LongText, Number, Percentage, Currency, Duration, Date, Checkbox, Dropdown, User, Location.
    - `isMultiSelect` boolean — Whether the field allows multiple selections (Dropdown and User types only).
    - `Value` object — The typed raw value: string for text, number for numeric types (Duration is decimal hours), boolean for Checkbox, "yyyy-MM-dd" string for Date, option name(s) for Dropdown, user name(s) for User (array of strings when multi-select), "lat, lng" string for Location.
    - `DisplayValue` string — Formatted display text for the value (numbers formatted per the definition, Duration as h:mm, Checkbox as Yes/No, multi-select values comma-separated).
    - `OptionIDs` integer[] — Selected option IDs. Dropdown fields only.
    - `UserIDs` integer[] — Selected user IDs. User fields only.
    - `Latitude` number, double — Latitude. Location fields only.
    - `Longitude` number, double — Longitude. Location fields only.
    - `UnitLabel` string — Unit suffix configured on the definition (Number fields only, when set).

## Other responses

- `401` — Unauthorized
- `404` — Not Found

---

[API](https://skmtc.dev/avaza/apis/avaza-api-documentation.md) · [All operations](https://skmtc.dev/avaza/apis/avaza-api-documentation/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/avaza/avaza-api-documentation/revisions/e99843f3c878/schema)
