# Create Actual Time

Creates a new record representing hours a person has logged to a project, typically synced from the Timesheet System for tracking actuals against planned work. Parallax only allows a person to have a single role on a project offering, which means that the role is inferred by `project_offering_id`.

Endpoint: POST /v1/actual-time
Version: v1
Security: ApiKey

## Request fields (application/json-patch+json):

  - `project_id` (string, required)
    The id of the project that the actual time is being recorded for.

  - `project_offering_id` (string, required)
    The id of the project offering in which the actual time entry belongs to.

  - `person_id` (string, required)
    The id of the Person to which the actual time entry belongs. If a person is specified who does not currently have a role on the project, a new `ProjectOfferingRole` will be created using the person's default organization role. The person will be assigned to it, and the ActualTime entry will be attached.

  - `description` (string)
    Notes associated with the actual time entry.

  - `recorded_date` (string, required)
    The date for which the actual time entry is recorded. ISO date formatting expected (yyyy-MM-dd)

  - `hours` (number, required)
    The number of hours associated with the actual time entry.

  - `billable` (boolean, required)
    Indicates whether the actual time entry was for billable work.

## Response 201 fields (application/json):

  - `id` (string)
    The id of the actual time entry

  - `project_id` (string)
    The id of the project that the actual time is being recorded for.

  - `project_offering_id` (string)
    The id of the project offering in which the actual time entry belongs to.

  - `project_offering_role_id` (string)
    The id of the project offering role that the actual time is recorded to.

  - `person_id` (string)
    The id of the Person to which the actual time entry belongs. If a person is specified who does not currently have a role on the project, a new `ProjectOfferingRole` will be created using the person's default organization role. The person will be assigned to it, and the ActualTime entry will be attached.

  - `description` (string)
    Notes associated with the actual time entry.

  - `recorded_date` (string)
    The date for which the actual time entry is recorded. ISO date formatting expected (yyyy-MM-dd)

  - `hours` (number)
    The number of hours associated with the actual time entry.

  - `billable` (boolean)
    Indicates whether the actual time entry was for billable work.

## Response 400 fields (application/json):

  - `type` (string)
    RFC reference for the error type

  - `title` (string)
    Human-readable summary of the error

  - `status` (integer)
    HTTP status code

  - `errors` (array)
    Detailed error messages for each validation failure

  - `trace_id` (string)
    Trace identifier for debugging

