There are a lots of http libraries available, however Timendo recommends Guzzle
require 'vendor/autoload.php';
use GuzzleHttp\Client;
$username = "username";
$password = "password";
$base_url = "https://sandbox.clicrdv.com";
$path = "/api/v1/groups/:group_id/vevents.json";
$apikey = "apikey";
$client = new Client([
'base_url' => [$base_url, []],
'defaults' => [
'query' => ['apikey' => $apikey],
'auth' => [$username, $password],
]
]);
$response = $client->get($path);
### debug
echo $base_url.$path
echo $response->getBody();