<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://forge.laravel.com/api/orgs/{organization}/servers/{server}/sites/{site}/security-rules",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'Restricted Access',
'path' => '/admin',
'credentials' => [
[
'username' => 'admin',
'password' => 'secret123'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
{
"data": {
"id": "<string>",
"type": "securityRules",
"attributes": {
"name": "Restricted Access",
"path": "/admin",
"status": "installed",
"created_at": "2025-07-29T09:00:00Z",
"updated_at": "2025-07-30T09:00:00Z"
},
"links": {
"self": {
"href": "<string>",
"rel": "<string>",
"describedby": "<string>",
"title": "<string>",
"type": "<string>",
"hreflang": "<string>",
"meta": {}
}
}
}
}
Add a new security rule to the site.
Processing mode: async
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://forge.laravel.com/api/orgs/{organization}/servers/{server}/sites/{site}/security-rules",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => 'Restricted Access',
'path' => '/admin',
'credentials' => [
[
'username' => 'admin',
'password' => 'secret123'
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
{
"data": {
"id": "<string>",
"type": "securityRules",
"attributes": {
"name": "Restricted Access",
"path": "/admin",
"status": "installed",
"created_at": "2025-07-29T09:00:00Z",
"updated_at": "2025-07-30T09:00:00Z"
},
"links": {
"self": {
"href": "<string>",
"rel": "<string>",
"describedby": "<string>",
"title": "<string>",
"type": "<string>",
"hreflang": "<string>",
"meta": {}
}
}
}
}
The access token received from the authorization server in the OAuth 2.0 flow.
The organization slug
The server ID
The site ID
SecurityRuleResource
The response is of type object
.
Was this page helpful?