Question: I am struggling to make this cURL request in Laravel

```
curl -d '{"key1":"value1", "key2":"value2"}' -H "Content-Type: application/json"   -X GET http://my.domain.com/test.php

```

I've been trying this:

```
$endpoint = "http://my.domain.com/test.php";

$client = new \GuzzleHttp\Client();

$response = $client->post($endpoint, [
                GuzzleHttp\RequestOptions::JSON => ['key1' => $id, 'key2' => 'Test'],
            ]);

$statusCode = $response->getStatusCode();

```

But I am getting an error `Class 'App\Http\Controllers\GuzzleHttp\RequestOptions' not found`

Any suggestions?

**EDIT**

I need to get the response from API in `$response` and then store it in DB... How can I do this? :/

Answer: 
Give the query-option from Guzzle a try:

```
$endpoint = "http://my.domain.com/test.php";
$client = new \GuzzleHttp\Client();
$id = 5;
$value = "ABC";

$response = $client->request('GET', $endpoint, ['query' => [
    'key1' => $id, 
    'key2' => $value,
]]);

// url will be: http://my.domain.com/test.php?key1=5&key2=ABC;

$statusCode = $response->getStatusCode();
$content = $response->getBody();

// or when your server returns json
// $content = json_decode($response->getBody(), true);

```

I use this option to build my get-requests with guzzle. In combination with json\_decode($json\_values, true) you can transform json to a php-array.
You have forgotten to add \ before namespace.

You should write:

```
$response = $client->post($endpoint, [
                \GuzzleHttp\RequestOptions::JSON => ['key1' => $id, 'key2' => 'Test'],
            ]);

```

Instead of:

```
$response = $client->post($endpoint, [
                GuzzleHttp\RequestOptions::JSON => ['key1' => $id, 'key2' => 'Test'],
            ]);

```