Skip to content

Raw API Responses

Every resource method returns typed DTOs, but the untouched original payload is always available too.

Every DTO carries ->raw

php
$employee = $biotime->employees()->find('EMP001');

$employee->raw; // the exact array returned by the API for this row

Use this for any field the DTO doesn't model as a typed property (see DTOs).

Client for direct requests

If you need to call an endpoint the SDK's resources don't wrap, BioTime::client() exposes the underlying Client, which handles authentication and retries the same way every resource method does:

php
$client = $biotime->client();

$raw = $client->get('/personnel/api/employees/', ['emp_code' => 'EMP001']);
// $raw is the decoded JSON array — count/next/previous/data envelope

Client exposes get(), post(), put(), delete() (all returning decoded JSON arrays), and download() (returning a raw string body, used internally by Attendances::export()).

Export endpoints return raw bytes, not DTOs

Attendances::export() is the one built-in method that intentionally skips DTO mapping entirely — see Attendances → Exporting.

Distributed under the MIT License.