Voxbi Cockpit APIs
All endpoints

List timepoint corrections for the tenant (user)

Returns a paginated list of Tempus time point corrections for the given Pbx (tenant). Results can be filtered by correction status and by the groups the requesting employee belongs to, sorted by creation time, and expanded with optional related data through the include parameter.

Each item is serialized by the CorrectionListResource. The response uses the standard Laravel pagination envelope: a data array of corrections plus links and meta objects.

HTTP: bearerAuth

User bearer token. Default authentication for customer-facing endpoints. Obtain a token by calling POST /login with your credentials, then send it on every subsequent request as Authorization: Bearer <token>. The token inherits the permissions and PBX scope of the authenticated user.

HTTP Authorization Scheme
bearer
Bearer format
Bearer <token>
pbx_id path · string · uuid *
Identifier of the Pbx (tenant).
filter[status] query · array
Restrict results to corrections in the given lifecycle states. Accepts a repeated array parameter or a single comma-separated string.
filter[group_id] query · array
Restrict results to corrections whose requesting employee belongs to one of the given group identifiers. Accepts a repeated array parameter or a single comma-separated string of UUIDs.
sort query · string
Sort order by creation time. `create_time` is ascending, `-create_time` is descending. Defaults to `-create_time`.
enum: create_time -create_time
include query · string
Comma-separated list of optional expansions to include on each correction. Allowed values are `requesterExt`, `newStatus`, and `oldStatus`. Unknown values are ignored.
page query · integer
Page number to retrieve.
per_page query · integer
Number of items per page (1-100). Defaults to 15.

Responses

Paginated list of corrections.
Response schema
data*array<object>
Each item — A Tempus time point correction as serialized by the V1 `CorrectionListResource`. A correction is a request to change, add, or remove an employee's recorded attendance time point (for example fixing a missed clock-in, adjusting a start time, or changing the recorded status). Each correction belongs to exactly one Pbx (tenant), references the employee who requested it, and once accepted is applied to the underlying time point. A correction captures both the original ("old") and the requested ("new") values for the affected time point: its timestamp, status, and sub-status. When `timepoint_id` is null the correction requests creating a brand-new time point; when `new_time` is null the correction requests removing the referenced time point. This object documents the exact keys returned by the resource, not the raw database columns. The status workflow fields `accepted_by`, `accepted_validations_count`, and `refused_validations_count`, and the `deleted_at` soft-delete timestamp, exist on the model but are not exposed by this resource. The `requesterExt`, `newStatus`, and `oldStatus` properties are optional expansions: they are present only when explicitly requested through the `include` query parameter (for example `?include=requesterExt,newStatus,oldStatus`) and the corresponding relation could be resolved. When omitted from the `include` list they are absent from the response entirely.
id*string · uuid
Unique correction identifier.
read-only
example: 550e8400-e29b-41d4-a716-446655440000
mxvp_user_id*string · uuid
Identifier of the Pbx (tenant) that owns this correction. Exposed under the legacy field name `mxvp_user_id`; it maps to the model's `pbx_id` column.
example: 550e8400-e29b-41d4-a716-446655440001
timepoint_id*string | null · uuid
Identifier of the existing time point this correction targets. Null when the correction requests creating a new time point rather than amending an existing one.
example: 550e8400-e29b-41d4-a716-446655440002
requester_ext_id*string | null · uuid
Identifier of the Tempus employee who requested the correction (the model's `employee_id`). When the `requester` relation is loaded its id is used; otherwise the stored `employee_id` is returned. Null when no requesting employee is recorded.
example: 550e8400-e29b-41d4-a716-446655440003
new_status_id*string | null · uuid
Identifier of the Tempus status requested for the corrected time point. References a `TempusStatus` record. Null when the correction does not change the status.
example: 550e8400-e29b-41d4-a716-446655440004
new_sub_status_id*string | null · uuid
Identifier of the Tempus sub-status requested for the corrected time point. References a `TempusSubStatus` record. Null when no sub-status change is requested.
example: 550e8400-e29b-41d4-a716-446655440005
old_status_id*string | null · uuid
Identifier of the Tempus status that was recorded on the time point before the correction. References a `TempusStatus` record. Null when no prior status applies.
example: 550e8400-e29b-41d4-a716-446655440006
old_sub_status_id*string | null · uuid
Identifier of the Tempus sub-status that was recorded on the time point before the correction. References a `TempusSubStatus` record. Null when no prior sub-status applies.
example: 550e8400-e29b-41d4-a716-446655440007
new_location_idstring | null · uuid
Location the correction asks the time point to be recorded at. Null when the correction does not touch the location, which is NOT the same as asking for the location to be cleared: acceptance leaves the current one as it is. Always null on corrections raised before this field existed.
example: 550e8400-e29b-41d4-a716-446655440010
old_location_idstring | null · uuid
The location the time point was pointed at when the correction was raised. A snapshot, so the requested move reads as old -> new.
example: 550e8400-e29b-41d4-a716-446655440011
new_time*string | null · date-time
Requested timestamp for the corrected time point, in ISO 8601 form. Null when the correction requests removing the referenced time point rather than changing its time.
example: 2024-03-01T08:29:07Z
old_time*string | null · date-time
Original timestamp of the time point before the correction, in ISO 8601 form. Null when there was no prior recorded time (for example an add request).
example: 2024-03-01T08:00:00Z
correction_comment*string | null
Free-form justification entered by the requester explaining why the correction is needed. Null when no comment was provided.
example: Forgot to clock in after lunch break.
new_comment*string | null
Comment to apply to the corrected (or newly created) time point. Null when no comment is supplied.
example: Corrected start time per manager approval.
status*string | null
Lifecycle state of the correction request. `pending` awaits validator approval; `accepted` has been applied to the time point; `rejected` was declined; `canceled` was withdrawn; `rejected_closed` was declined and the request is closed. Legacy stored values `refused` and `refused_closed` are normalised to `rejected` and `rejected_closed` respectively. Null when no status is set.
enum: pending accepted rejected canceled rejected_closed
example: pending
create_time*string · date-time
Timestamp when the correction was created, in ISO 8601 form.
read-only
example: 2024-03-01T08:29:07Z
update_time*string · date-time
Timestamp when the correction was last updated, in ISO 8601 form.
read-only
example: 2024-03-01T09:15:42Z
requesterExtobject | null
Summary of the requesting employee's extension. Optional expansion: present only when `requesterExt` is passed in the `include` query parameter and the `requester` relation resolves. Null when requested but the requester cannot be resolved.
idstring · uuid
Identifier of the requesting Tempus employee.
example: 550e8400-e29b-41d4-a716-446655440003
numberstring | null
Primary extension number of the requester's linked user. Null when the user has no extension assigned.
example: 1042
namestring | null
First name of the requesting employee.
example: Jane
name2string | null
Last name of the requesting employee.
example: Smith
newStatusobject | null
Full details of the requested ("new") Tempus status. Optional expansion: present only when `newStatus` is passed in the `include` query parameter and the `newStatus` relation resolves. Null when requested but unresolved.
idstring · uuid
Unique identifier of the status.
example: 550e8400-e29b-41d4-a716-446655440004
mxvp_user_idstring · uuid
Identifier of the Pbx (tenant) that owns the status (maps to the model's `pbx_id`).
example: 550e8400-e29b-41d4-a716-446655440001
namestring
Display name of the status.
example: Working
iconstring | null
CSS icon class used to represent the status in the UI. Null when no icon is configured.
example: la la-briefcase
fontcolorstring | null
Foreground (font) colour for the status badge. Null when unset.
example: #ffffff
backgroundcolorstring | null
Background colour for the status badge. Null when unset.
example: #2e7d32
cssstring | null
Additional CSS class applied to the status badge. Null when unset.
example: status-working
commentboolean
Whether a comment is required when applying this status. Defaults to false.
example:
payableboolean
Whether time spent in this status counts as payable working time.
example: 1
actionstring | null
Optional workflow action associated with the status (stored in the status meta data). Null when none is configured.
example: clock_in
migration_idstring | null
Identifier carried over from a legacy migration of this status. Null when the status was not migrated.
example: 12345
delete_datestring | null · date-time
Soft-delete timestamp of the status, in ISO 8601 form. Null when the status is active (not deleted).
oldStatusobject | null
Full details of the previously recorded ("old") Tempus status, using the same shape as `newStatus`. Optional expansion: present only when `oldStatus` is passed in the `include` query parameter and the `oldStatus` relation resolves. Null when requested but unresolved.
idstring · uuid
Unique identifier of the status.
example: 550e8400-e29b-41d4-a716-446655440006
mxvp_user_idstring · uuid
Identifier of the Pbx (tenant) that owns the status (maps to the model's `pbx_id`).
example: 550e8400-e29b-41d4-a716-446655440001
namestring
Display name of the status.
example: Break
iconstring | null
CSS icon class used to represent the status in the UI. Null when unset.
example: la la-coffee
fontcolorstring | null
Foreground (font) colour for the status badge. Null when unset.
example: #000000
backgroundcolorstring | null
Background colour for the status badge. Null when unset.
example: #fbc02d
cssstring | null
Additional CSS class applied to the status badge. Null when unset.
example: status-break
commentboolean
Whether a comment is required when applying this status. Defaults to false.
example:
payableboolean
Whether time spent in this status counts as payable working time.
example:
actionstring | null
Optional workflow action associated with the status (stored in the status meta data). Null when none is configured.
migration_idstring | null
Identifier carried over from a legacy migration of this status. Null when the status was not migrated.
delete_datestring | null · date-time
Soft-delete timestamp of the status, in ISO 8601 form. Null when the status is active (not deleted).
links*object
firststring
The first page of the resource
example: http://localhost/api/v1/resources?page=1
laststring
The last page of the resource
example: http://localhost/api/v1/resources?page=1
prevnull | string
The previous page of the resource
nextnull | string
The next page of the resource
meta*object
current_pageinteger
The current page of the resource
≥ 1
example: 1
fromnull | integer
The first item of the resource
≥ 1
example: 1
last_pageinteger
The last page of the resource
≥ 1
example: 1
linksarray<object>
urlstring | null
The url of the resource (null for the boundary prev/next links)
example: http://localhost/api/v1/resources?page=1
labelstring
The label of the resource
example: first
activeboolean
The status of the resource
example: 1
pathstring
The path of the resource
example: http://localhost/api/v1/resources
per_pageinteger
The number of items per page of the resource
≥ 1
example: 15
tonull | integer
The last item of the resource
≥ 1
example: 1
totalinteger
The total number of items of the resource
≥ 0
example: 1
Authorization Token Missing. This error is returned when the authorization token is missing.
Response schema
errorstring
Error message
example: Authorization Token is missing
The authenticated user is not authorized for this tenant (the request fails the FormRequest authorization check).
Response schema
No response body.
Unprocessable Parameters. This error is returned when a parameter is not valid.
Response schema
messagestring
example: The given data was invalid.
errorsobject
filterarray<string>
[]string
sortarray<string>
[]string
pagearray<string>
[]string
per_pagearray<string>
[]string
get https://cockpit.voxbi.com/api/v1/{pbx_id}/corrections
Base URL
Request sample
curl -X GET 'https://cockpit.voxbi.com/api/v1/{pbx_id}/corrections' \
  -H 'Authorization: Bearer YOUR_TOKEN'
const response = await fetch('https://cockpit.voxbi.com/api/v1/{pbx_id}/corrections', {
  method: 'GET',
  headers: {
    'Content-Type': 'application/json',
    'Authorization': `Bearer ${YOUR_TOKEN}`,
  },
});

const data = await response.json();
console.log(data);
import requests

response = requests.get('https://cockpit.voxbi.com/api/v1/{pbx_id}/corrections',
    headers={'Authorization': f'Bearer {YOUR_TOKEN}'}
)
response.raise_for_status()
data = response.json()
print(data)
<?php
$context = stream_context_create([
    'http' => [
        'method'  => 'GET',
        'header'  => "Content-Type: application/json\r\nAuthorization: Bearer YOUR_TOKEN",
    ],
]);

$response = file_get_contents('https://cockpit.voxbi.com/api/v1/{pbx_id}/corrections', false, $context);
$data = json_decode($response, true);
print_r($data);
No example for this status.
{}
"error": "Authorization Token is missing"
}
Cache-Control string
example: private, must-revalidate
Connection string
example: keep-alive
Content-Type string
example: application/json
Vary string
example: Origin
X-RateLimit-Limit integer
Max requests allowed in the current rate-limit window.
example: 60
X-RateLimit-Remaining integer
Requests remaining in the current rate-limit window.
example: 57
No example for this status.
{}
"errors": {}
"filter": [],
"The filter field must be an array."
],
"sort": [],
"The sort field must be a string."
],
"page": [],
"The page field must be an integer."
],
"per_page": []
"The per page field must be an integer."
]
}
}
Cache-Control string
example: private, must-revalidate
Connection string
example: keep-alive
Content-Type string
example: application/json
Vary string
example: Origin
X-RateLimit-Limit integer
Max requests allowed in the current rate-limit window.
example: 60
X-RateLimit-Remaining integer
Requests remaining in the current rate-limit window.
example: 57