List validation decisions for a time-point correction (user)
Returns the paginated list of validation (approval) decisions attached to a
single Tempus time-point correction request. Each item is a
TempusCorrectionApproval recording one validator's decision. The validator
summary is eager-loaded on every item. Results are wrapped in the standard
Laravel pagination envelope (data, links, meta).
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).
correction_id
path · string · uuid
*
Identifier of the Tempus time-point correction request.
page
query · integer
Page number of the result set.
per_page
query · integer
Number of records per page (maximum 100).
accept
header · string
example:
application/jsonResponses
Paginated list of validation decisions for the correction.
Response schema
data*array<object>
Each item — A single approval (validation) decision attached to a Tempus time-point
correction request, as serialized by the V1 `CorrectionApprovalResource`.
When an employee submits a correction to their recorded time points, one or
more validators are asked to approve or reject it. Each `TempusCorrectionApproval`
records the decision of one validator for one correction. The `status` field
carries the current decision state (pending until the validator acts).
This object documents the exact keys returned by the resource, not the raw
database columns. Several keys are renamed from their underlying columns:
`mxvp_user_id` maps to the tenant (`pbx_id`), `ext_id` maps to the validating
employee (`validator_id`), and `comment` maps to the stored `note`. The
`validator` object is only present when the validator relation is eager-loaded
on the model; it is absent (key omitted) otherwise.
id*string · uuid
Unique identifier of this approval record.
read-only
example:
550e8400-e29b-41d4-a716-446655440000mxvp_user_id*string · uuid
Identifier of the Pbx (tenant) that owns this approval. Sourced from the
model `pbx_id` column.
example:
550e8400-e29b-41d4-a716-446655440001correction_id*string · uuid
Identifier of the Tempus time-point correction request this approval
decision belongs to.
example:
550e8400-e29b-41d4-a716-446655440002ext_id*string · uuid
Identifier of the Tempus employee acting as the validator for this
correction. Sourced from the model `validator_id` column.
example:
550e8400-e29b-41d4-a716-446655440003validatorobject
Summary of the validating employee. Only present when the `validator`
relation is eager-loaded on the model; the key is omitted when the relation
is not loaded. The `name` falls back to the linked user's name when the
employee record has no own name.
idstring · uuid
Identifier of the validating employee.
example:
550e8400-e29b-41d4-a716-446655440003namestring | null
Display name of the validating employee.
example:
Jane Smithstatus*string
Current decision state of this approval. `pending` means the validator has
not yet acted, `accepted` means the correction was approved, and `rejected`
means it was declined.
enum:
pending accepted rejectedexample:
pendingcomment*string | null
Free-form note left by the validator explaining the decision. Sourced from
the model `note` column. Null when no note was provided.
example:
Approved after confirming the corrected clock-in time with the team lead.create_time*string | null · date-time
ISO 8601 timestamp of when this approval record was created. Null if the
creation timestamp is unavailable.
read-only
example:
2024-03-01T08:29:07+00:00links*object
firststring
The first page of the resource
example:
http://localhost/api/v1/resources?page=1laststring
The last page of the resource
example:
http://localhost/api/v1/resources?page=1prevnull | 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:
1fromnull | integer
The first item of the resource
≥ 1
example:
1last_pageinteger
The last page of the resource
≥ 1
example:
1linksarray<object>
urlstring | null
The url of the resource (null for the boundary prev/next links)
example:
http://localhost/api/v1/resources?page=1labelstring
The label of the resource
example:
firstactiveboolean
The status of the resource
example:
1pathstring
The path of the resource
example:
http://localhost/api/v1/resourcesper_pageinteger
The number of items per page of the resource
≥ 1
example:
15tonull | integer
The last item of the resource
≥ 1
example:
1totalinteger
The total number of items of the resource
≥ 0
example:
1Authorization Token Missing. This error is returned when the authorization token is missing.
Response schema
errorstring
Error message
example:
Authorization Token is missingThe authenticated user does not belong to the requested tenant.
Response schema
messagestring
example:
This action is unauthorized.Data Not Found. This error is returned when the requested data is not found.
Response schema
messagearray<string>
[]string
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/{correction_id}/validations
Base URL
Request sample
curl -X GET 'https://cockpit.voxbi.com/api/v1/{pbx_id}/corrections/{correction_id}/validations' \
-H 'Authorization: Bearer YOUR_TOKEN'
const response = await fetch('https://cockpit.voxbi.com/api/v1/{pbx_id}/corrections/{correction_id}/validations', {
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/{correction_id}/validations',
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/{correction_id}/validations', 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:
57No example for this status.
{ … }
"message": [ … ]
"Data not found"
]
}
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{ … }
"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