Thank you Matias! Got it to work using the PHP curl example you emailed me. I thought Id post the examples you sent here incase they can help the next person.
FYI I only tested the first one (PHP cUrl)
PHP - cURL:
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.monday.com/v2',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS =>'{"query":"mutation ($myColumnValues: JSON!) { create_item ( board_id: 123456789, group_id: \\"topics\\", item_name: \\"My Item\\", column_values: $myColumnValues ) { id } }","variables":{"myColumnValues":"{\\"text\\":\\"Some text\\"}"}}',
CURLOPT_HTTPHEADER => array(
'Authorization: MYAPIKEYHERE',
'Content-Type: application/json',
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
PHP Guzzle:
<?php
$client = new Client();
$headers = [
'Authorization' => 'MYAPIKEYHERE',
'Content-Type' => 'application/json',
];
$body = '{"query":"mutation ($myColumnValues: JSON!) { create_item ( board_id: 123456789, group_id: \\"topics\\", item_name: \\"My Item\\", column_values: $myColumnValues ) { id } }","variables":{"myColumnValues":"{\\"text\\":\\"Some text\\"}"}}';
$request = new Request('POST', 'https://api.monday.com/v2', $headers, $body);
$res = $client->sendAsync($request)->wait();
echo $res->getBody();
PHP HTTP Request 2:
<?php
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
$request->setUrl('https://api.monday.com/v2');
$request->setMethod(HTTP_Request2::METHOD_POST);
$request->setConfig(array(
'follow_redirects' => TRUE
));
$request->setHeader(array(
'Authorization' => 'MYAPIKEYHERE',
'Content-Type' => 'application/json',
));
$request->setBody('{"query":"mutation ($myColumnValues: JSON!) { create_item ( board_id: 123456789, group_id: \\"topics\\", item_name: \\"My Item\\", column_values: $myColumnValues ) { id } }","variables":{"myColumnValues":"{\\"text\\":\\"Some text\\"}"}}');
try {
$response = $request->send();
if ($response->getStatus() == 200) {
echo $response->getBody();
}
else {
echo 'Unexpected HTTP status: ' . $response->getStatus() . ' ' .
$response->getReasonPhrase();
}
}
catch(HTTP_Request2_Exception $e) {
echo 'Error: ' . $e->getMessage();
}
PHP pecl_HTTP:
<?php
$client = new http\Client;
$request = new http\Client\Request;
$request->setRequestUrl('https://api.monday.com/v2');
$request->setRequestMethod('POST');
$body = new http\Message\Body;
$body->append('{"query":"mutation ($myColumnValues: JSON!) { create_item ( board_id: 1234567890, group_id: \\"topics\\", item_name: \\"My Item\\", column_values: $myColumnValues ) { id } }","variables":{"myColumnValues":"{\\"text\\":\\"Some text\\"}"}}');
$request->setBody($body);
$request->setOptions(array());
$request->setHeaders(array(
'Authorization' => 'MYAPIKEYHERE',
'Content-Type' => 'application/json',
));
$client->enqueue($request)->send();
$response = $client->getResponse();
echo $response->getBody();
Thanks again!