Skip to main content

ProjectModifiableFields

These are fields in the Project object that can be modified or given as input when creating a new Project.

is_hiddenboolean

Indicates whether the object is hidden.

See also status

hiddenboolean

Indicates whether the user is hidden.

Read-only alias for is_hidden.

statusstring

The general visibility status of the object; either Hidden, Loggable and Reportable, or Reportable Only.

This is a write-enabled field if you have the appropriate permissions. See also status_code which can be changed in the same way.

Possible values: [Hidden, Loggable and Reportable, Reportable Only]

Example: Loggable and Reportable
status_codestring

The internal code for the status of the object; either:

  • lr for Loggable and Reportable
  • ro for Reportable Only
  • h for Hidden

Possible values: [lr, ro, h]

Example: lr
custom_fields object

An object with Custom Fields for this record. The key is the field ID and the value a description of the field. Additional details here: CustomFields Schema

tip

Updating Custom Field values

When creating or updating an existing object that uses Custom Fields, for example a User record, you can follow this custom_field key structure to update the custom field values. The value field is the only required field for updating a custom field value; other fields such as pname will be ignored.

info

Important: depending on the endpoint, this may only be included in the response if $keys=custom_fields or $keys=$extended was set as a query parameter.

There is also a more compact representation available in most object types, where each custom field value is a separate key in the main object (not under custom_fields).

See the CustomFields Schema page for more detailed information on these topics.

property name* CustomFieldValue

A specific instance (value) of a Custom field for a particular object.

id_attr_typestring

The unique internal ID of this Custom Field definition (same as id field)

Example: 2DDD372DC4D3422D9E73F6DE936C4265
attr_typestring

Datatype of the custom field. The basic types available are:

  • STRING - a variable-length string.
  • CHAR - a fixed-length string. (The value may be padded with spaces.)
  • NUMBER - a floating-point number.
  • INTEGER - an integer (whole number).
  • TIMESTAMP - a date and time, stored in Unix epoch format.
  • DATE - a YYYYMMDD (F8) date.

In addition, most types can be modified with a prefix to indicate whether they are "select lists" (ENUM or enumerated) or "multi-select lists" (M_ENUM) which can take on multiple values.

Strings and char may also have a maximum length specified, such as STRING_100.

Example: ["STRING_100","ENUM_STRING_20","M_ENUM_STRING_252","ENUM_INTEGER","NUMBER"]
descriptionstring

Description of custom field

pnamestring

Name of custom field

Example: Pay Group
id_attr_type_uristring

URI of the custom field to get more information about the custom field definition.

Example: /api/v1/custom_fields/E07526A217164D1B94188279A8A0E4D9
valuestring

Value of the custom field for this object. To update the value, see the note on the CustomFields schema page.

Note that when modifying Custom Fields of objects like Users or Projects, only the value key will be checked; other fields like the Custom Field pname will be ignored.

Example: XYZ Pay Group
group_names object[]

A list of Groups (names and IDs) that the object belongs to.

This is a read-only list. To change the Groups that an object belongs to, use the groups field.

See GroupFields for additional information about Groups and this field.

  • Array [
  • iduuid

    The Group ID.

    pnamestring

    The Group name.

    uristring

    The URI of the Group.

    WARNING: this field is planned in a future release but is not yet available.

  • ]
  • groupsuuid[]

    A list of Group IDs that the object belongs to. See GroupFields for additional information about Groups and this field.

    Example: ["5088C427E8B64EBEBE1C5B5961DB1902","3553F715A6F54DAB95D0D25B08468195"]
    id_parentstringrequired

    The internal ID of the parent Project. This can only be set when creating a new Project. The parent of an existing Project cannot be changed, except for "PX Task" type projects.

    Example: 64BBA147B9AC41D9978062300826C89F
    pnamestringrequired

    The name of the Project.

    Example: XYZ Project
    descriptionstring

    A description of the Project.

    Example: This is a description of the XYZ Project.
    hours_estimatenumber

    The estimated number of hours for the Project.

    Example: 100
    percent_completenumber

    The percentage of the Project that is complete.

    Example: 50
    project_typenumber

    The Project Type code of the Project. Should be 1 for a normal Project. Types 4-12 are used for PX Scheduled Projects.

    Example: 1
    wbsstring

    UNUSED FIELD; normally null

    Example: null
    id_ownerstring

    The internal ID of the User who is the owner of the Project. Note: changes to owners are automatically propagated to all descendants.

    Example: 64BBA147B9AC41D9978062300826C89F
    id_backupstring

    The internal ID of the User who is the Backup Owner for the Project. Note: changes to owners are automatically propagated to all descendants.

    Example: 64BBA147B9AC41D9978062300826C89F
    rm_typenumber

    UNUSED FIELD; normally 0

    Example: 0
    statenumber

    UNUSED FIELD; normally 0

    Example: 0
    work_variancenumber

    PX Scheduled Projects only: TODO: explain

    Example: 0
    start_variancenumber

    PX Scheduled Projects only: TODO: explain

    Example: 0
    end_variancenumber

    PX Scheduled Projects only: TODO: explain

    Example: 0
    duration_variancenumber

    PX Scheduled Projects only: TODO: explain Integer number of days.

    Example: 0
    scheduled_worknumber

    PX Scheduled Projects only: TODO: explain Number of hours.

    Example: 0
    scheduled_startnumber

    PX Scheduled Projects only: The scheduled start date of the Project as an epoch timestamp.

    Example: 1727724343
    scheduled_endnumber

    PX Scheduled Projects only: The scheduled end date of the Project as an epoch timestamp.

    Example: 1727724343
    scheduled_durationnumber

    PX Scheduled Projects only: The scheduled duration of the Project in days.

    Example: 10
    projected_costnumber

    The projected cost of the Project.

    Example: 1000
    projected_returnnumber

    The projected return of the Project.

    Example: 2000
    projected_profitnumber

    The projected profit of the Project.

    Example: 1000
    projected_roinumber

    The projected return on investment of the Project.

    Example: 2
    awaiting_exportinteger

    If 1, the Project is awaiting export in Projectlink. Does not apply to other integrations.

    Example: 0
    allow_timeboolean

    If true, time can be logged against this Project.

    Example: true
    allow_expenseboolean

    If true, expenses can be logged against this Project.

    Example: true
    allow_customboolean

    If true, Custom Entry (a.k.a Mileage) entries can be logged against this Project.

    Example: true
    allow_leaveboolean

    If true, Leave Request entries can be logged against this Project.

    Example: true
    allow_holidayboolean

    If true, Holiday entries can be created using this Project.

    Example: true
    propagate_pa_ratesboolean

    If true, the Project will propagate the "Project Activity" rates assigned to this Project to any new Projects created under this Project.

    Example: true
    multiple_assnsboolean

    If true, Assignments can be made in "Multiple Assignment" mode using this Project.

    Example: true
    agile_team_assnsboolean

    If true, Assignments can be made to a "Team" instead of an individual using this Project.

    Example: true
    dependencies_new_children_inheritboolean

    If true, new child Projects will inherit the dependencies of this Project.

    Example: true
    dependencies_copy_to_descendentsboolean

    If true, the dependencies of this Project will be copied to all descendants. Note: this field is spelled as descendents instead of descendants.

    Example: true
    dependencies object

    A map of Project dependencies; when this Project is selected, only the listed choices in the dependent Entry Columns are available to the user.

    The keys in this object should be the table name of the dependent Entry Code, e.g. codes_pay_types. The values should be arrays of Entry Code IDs that belong to that table. These will be the allowed choices when this Project is selected.

    The list of available Entry Column tables is here: (TODO: provide link)

    property name* string[]

    A list of Entry Code IDs that belong to the table specified by the key, e.g. codes_bill_types.

  • Array [
  • string
  • ]
  • change_requestsarray

    A list of Change Requests associated with this Project. These are requests from team members to change the estimated hours left for the Project / Task.

    autoaddboolean

    If true, this Project is automatically added to new Groups as they are created.

    Example: false
    ProjectModifiableFields
    {
    "id_parent": "64BBA147B9AC41D9978062300826C89F",
    "pname": "XYZ Project",
    "description": "This is a description of the XYZ Project.",
    "hours_estimate": 100,
    "percent_complete": 50,
    "project_type": 1,
    "wbs": null,
    "id_owner": "64BBA147B9AC41D9978062300826C89F",
    "id_backup": "64BBA147B9AC41D9978062300826C89F",
    "rm_type": 0,
    "state": 0,
    "work_variance": 0,
    "start_variance": 0,
    "end_variance": 0,
    "duration_variance": 0,
    "scheduled_work": 0,
    "scheduled_start": 1727724343,
    "scheduled_end": 1727724343,
    "scheduled_duration": 10,
    "projected_cost": 1000,
    "projected_return": 2000,
    "projected_profit": 1000,
    "projected_roi": 2,
    "awaiting_export": 0,
    "allow_time": true,
    "allow_expense": true,
    "allow_custom": true,
    "allow_leave": true,
    "allow_holiday": true,
    "propagate_pa_rates": true,
    "multiple_assns": true,
    "agile_team_assns": true,
    "dependencies_new_children_inherit": true,
    "dependencies_copy_to_descendents": true,
    "dependencies": {
    "codes_pay_types": [
    "PayTypeID1",
    "PayTypeID2"
    ],
    "codes_bill_types": [
    "BillTypeID1",
    "BillTypeID2"
    ]
    },
    "change_requests": [
    null
    ],
    "autoadd": false,
    "is_hidden": true,
    "hidden": true,
    "status": "Loggable and Reportable",
    "status_code": "lr",
    "custom_fields": {
    "C41B2DDA662F4EF6B730F9CB6DB04696": {
    "attr_type": "ENUM_STRING_252",
    "description": "Employee pay group.",
    "id_attr_type": "C41B2DDA662F4EF6B730F9CB6DB04696",
    "id_attr_type_uri": "/api/v1/custom_fields/C41B2DDA662F4EF6B730F9CB6DB04696",
    "pname": "Pay Group",
    "value": "XYZ Pay Group"
    },
    "users_email": {
    "attr_type": "STRING_252",
    "description": "Email address",
    "id_attr_type": "users_email",
    "id_attr_type_uri": "/api/v1/custom_fields/users_email",
    "pname": "Email Address",
    "value": "username@example.com"
    }
    },
    "group_names": [
    {
    "id": "5088C427E8B64EBEBE1C5B5961DB1902",
    "pname": "Sales"
    },
    {
    "id": "3553F715A6F54DAB95D0D25B08468195",
    "pname": "Accounting"
    }
    ],
    "groups": [
    "5088C427E8B64EBEBE1C5B5961DB1902",
    "3553F715A6F54DAB95D0D25B08468195"
    ]
    }