Skip to main content
POST
/
orgs
/
{organization}
/
servers
/
{server}
/
sites
/
{site}
/
security-rules
Create site security rule
<?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": {}
      }
    }
  }
}

Authorizations

Authorization
string
header
required

The access token received from the authorization server in the OAuth 2.0 flow.

Path Parameters

organization
string
required

The organization slug

server
integer
required

The server ID

site
integer
required

The site ID

Body

application/json
name
string
required

The name of the security rule.

Maximum length: 255
Example:

"Restricted Access"

credentials
object[]
required

The credentials for the security rule.

Minimum length: 1
path
string

The path for the security rule.

Maximum length: 255
Example:

"/admin"

Response

SecurityRuleResource

data
object
required
I