Skip to main content
POST
/
orgs
/
{organization}
/
servers
/
{server}
/
sites
/
{site}
/
domains
/
{domainRecord}
/
certificates
Create domain certificate
<?php

$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => "https://forge.laravel.com/api/orgs/{organization}/servers/{server}/sites/{site}/domains/{domainRecord}/certificates",
  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([
    'type' => 'letsencrypt',
    'enable' => false,
    'letsencrypt' => [
        'verification_method' => 'dns-01',
        'key_type' => 'ecdsa',
        'preferred_chain' => 'ISRG Root X1'
    ],
    'existing' => [
        'key' => '<string>',
        'certificate' => '<string>'
    ],
    'csr' => [
        'domain' => '<string>',
        'sans' => '<string>',
        'country' => '<string>',
        'state' => '<string>',
        'city' => '<string>',
        'organization' => '<string>',
        'department' => '<string>'
    ],
    'clone' => [
        'certificate_id' => 123
    ]
  ]),
  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": "certificates",
    "attributes": {
      "type": "letsencrypt",
      "verification_method": "http-01",
      "key_type": "ecdsa",
      "preferred_chain": "<string>",
      "request_status": "verifying",
      "status": "installing",
      "active": true,
      "created_at": "2023-11-07T05:31:56Z",
      "updated_at": "2023-11-07T05:31:56Z"
    }
  }
}

Documentation Index

Fetch the complete documentation index at: https://forge.laravel.com/docs/llms.txt

Use this file to discover all available pages before exploring further.

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

domainRecord
integer
required

The domain record ID

Body

application/json
type
enum<string>
required

The type of certificate to create.

Available options:
letsencrypt,
csr,
existing,
clone
Example:

"letsencrypt"

enable
boolean

Whether to enable the certificate upon installation.

Example:

false

letsencrypt
object

The configuration for a Let's Encrypt certificate.

existing
object

The configuration for an existing certificate.

csr
object

The configuration for a CSR (Certificate Signing Request).

clone
object

Response

CertificateResource

data
CertificateResource · object
required