Update Timecard Entry (Project)
update_timecard_entry_projectUpdate an existing timecard entry in Procore. Provide the project ID and entry ID, then modify fields such as date, hours, or billable status; omitted fields remain unchanged.
Instructions
Update a specific timecard entry. #### See - Daily Log guide - for additional info on * Attachments. Send only the fields you intend to change; omitted fields keep their current values. Pass the record's fields as top-level arguments — they are nested under "timecard_entry" in the request payload for you. project_id defaults to the value set by procore_set_config when omitted, and id must identify an existing parent record — resolve it with the matching list tool first. Returns the modified timecard entry on success. Failures come back as an error payload carrying the HTTP status — commonly 401 when the token has expired, 403 without tool permission, and 404 when an id does not resolve. Required parameters: project_id, id. Procore API: Project Management > Field Productivity. Endpoint: PATCH /rest/v1.0/projects/{project_id}/timecard_entries/{id}
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | URL path parameter — iD of the timecard entry | |
| date | No | JSON request body field — the date of the timecard dntry in ISO 8601 format. | |
| hours | No | JSON request body field — total number of hours worked (excluding breaks) for the timecard entry. This property is not applicable if the timesheet time entry is configured for start time and stop time. | |
| time_in | No | JSON request body field — the start time of the timecard entry in ISO 8601 format. This property is only applicable if the timesheet time entry is configured for start time and stop time. | |
| billable | No | JSON request body field — the billable status of the timecard entry. Must be either true or false. | |
| datetime | No | JSON request body field — the date and time of the record. This property is mutually exclusive with the Date property. | |
| party_id | No | JSON request body field — the ID of the Party of the Timecard Entry | |
| time_out | No | JSON request body field — the stop time of the timecard entry in ISO 8601 format. This property is only applicable if the timesheet time entry is configured for start time and stop time. | |
| origin_id | No | JSON request body field — the ID of the related external data. | |
| lunch_time | No | JSON request body field — the duration of the lunch break, in minutes, for the timecard entry. This property is only applicable if the tmesheet time entry is configured for start time and stop time. | |
| project_id | Yes | URL path parameter — unique identifier for the project. | |
| clock_in_id | No | JSON request body field — the ID of the clock in GPS position corresponding to the timecard entry. | |
| description | No | JSON request body field — the description of the timecard entry. | |
| origin_data | No | JSON request body field — the value of the related external data. | |
| clock_out_id | No | JSON request body field — the ID of the clock out GPS position corresponding to the timecard entry. | |
| cost_code_id | No | JSON request body field — the ID of the cost code corresponding to the timecard entry. | |
| timesheet_id | No | JSON request body field — the ID of the timesheet corresponding to the timecard entry. | |
| serializer_view | No | Query string parameter — changes which fields are included in the serialized response. - `extended_daily_log` - Returns extended fields plus Daily Log segment associations - Default (not specified) - Returns the standard e... | |
| line_item_type_id | No | JSON request body field — the ID of the line item type pertaining to the time card entry. | |
| daily_log_segment_id | No | JSON request body field — daily Log Segment ID | |
| login_information_id | No | JSON request body field — the ID of the login information corresponding to the timecard entry. | |
| timecard_time_type_id | No | JSON request body field — the ID of the timecard time type corresponding to the timecard entry. |