List server deployments
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://forge.laravel.com/api/orgs/{organization}/servers/{server}/deployments",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}curl --request GET \
--url https://forge.laravel.com/api/orgs/{organization}/servers/{server}/deployments \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://forge.laravel.com/api/orgs/{organization}/servers/{server}/deployments', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://forge.laravel.com/api/orgs/{organization}/servers/{server}/deployments"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"data": [
{
"id": "<string>",
"type": "deployments",
"attributes": {
"commit": {
"hash": "<string>",
"author": "<string>",
"message": "<string>",
"branch": "<string>"
},
"type": "<string>",
"status": "cancelled",
"started_at": "2025-07-29T09:00:00Z",
"ended_at": "2025-07-29T09:00:00Z",
"created_at": "2025-07-29T09:00:00Z",
"updated_at": "2025-07-29T09:00:00Z"
},
"relationships": {
"site": {
"data": {
"type": "sites",
"id": "<string>"
}
},
"initiator": {
"data": {
"type": "users",
"id": "<string>"
}
}
}
}
],
"links": {
"first": "<string>",
"last": "<string>",
"prev": "<string>",
"next": "<string>"
},
"meta": {
"path": "<string>",
"per_page": 1,
"next_cursor": "<string>",
"prev_cursor": "<string>"
},
"included": [
{
"id": "<string>",
"type": "sites",
"links": {
"self": {
"href": "<string>",
"rel": "<string>",
"describedby": "<string>",
"title": "<string>",
"type": "<string>",
"hreflang": "<string>",
"meta": {}
}
},
"attributes": {
"name": "<string>",
"status": "installed",
"url": "<string>",
"user": "<string>",
"https": true,
"web_directory": "<string>",
"root_directory": "<string>",
"aliases": [
"<unknown>"
],
"php_version": null,
"deployment_status": "<string>",
"quick_deploy": true,
"isolated": true,
"shared_paths": {},
"repository": {
"provider": "<string>",
"url": "<string>",
"branch": "<string>",
"status": "installed"
},
"database": "<string>",
"maintenance_mode": {
"enabled": true,
"status": "disabling"
},
"zero_downtime_deployments": true,
"deployment_retention": 123,
"deployment_script": "<string>",
"wildcards": true,
"app_type": "Statamic",
"uses_envoyer": true,
"deployment_url": "<string>",
"healthcheck_url": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
},
"relationships": {
"server": {
"data": {
"type": "servers",
"id": "<string>"
}
},
"tags": {
"data": [
{
"type": "tags",
"id": "<string>"
}
]
},
"latestDeployment": {
"data": {
"type": "deployments",
"id": "<string>"
}
},
"securityRules": {
"data": [
{
"type": "securityRules",
"id": "<string>"
}
]
},
"redirectRules": {
"data": [
{
"type": "redirect-rules",
"id": "<string>"
}
]
}
}
}
]
}{
"message": "<string>"
}{
"message": "<string>"
}Deployments
List server deployments
Show all recent deployments across every site on the server.
Include the site relationship to attribute each deployment to its site.
Processing mode: sync
GET
/
orgs
/
{organization}
/
servers
/
{server}
/
deployments
List server deployments
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://forge.laravel.com/api/orgs/{organization}/servers/{server}/deployments",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}curl --request GET \
--url https://forge.laravel.com/api/orgs/{organization}/servers/{server}/deployments \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://forge.laravel.com/api/orgs/{organization}/servers/{server}/deployments', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://forge.laravel.com/api/orgs/{organization}/servers/{server}/deployments"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"data": [
{
"id": "<string>",
"type": "deployments",
"attributes": {
"commit": {
"hash": "<string>",
"author": "<string>",
"message": "<string>",
"branch": "<string>"
},
"type": "<string>",
"status": "cancelled",
"started_at": "2025-07-29T09:00:00Z",
"ended_at": "2025-07-29T09:00:00Z",
"created_at": "2025-07-29T09:00:00Z",
"updated_at": "2025-07-29T09:00:00Z"
},
"relationships": {
"site": {
"data": {
"type": "sites",
"id": "<string>"
}
},
"initiator": {
"data": {
"type": "users",
"id": "<string>"
}
}
}
}
],
"links": {
"first": "<string>",
"last": "<string>",
"prev": "<string>",
"next": "<string>"
},
"meta": {
"path": "<string>",
"per_page": 1,
"next_cursor": "<string>",
"prev_cursor": "<string>"
},
"included": [
{
"id": "<string>",
"type": "sites",
"links": {
"self": {
"href": "<string>",
"rel": "<string>",
"describedby": "<string>",
"title": "<string>",
"type": "<string>",
"hreflang": "<string>",
"meta": {}
}
},
"attributes": {
"name": "<string>",
"status": "installed",
"url": "<string>",
"user": "<string>",
"https": true,
"web_directory": "<string>",
"root_directory": "<string>",
"aliases": [
"<unknown>"
],
"php_version": null,
"deployment_status": "<string>",
"quick_deploy": true,
"isolated": true,
"shared_paths": {},
"repository": {
"provider": "<string>",
"url": "<string>",
"branch": "<string>",
"status": "installed"
},
"database": "<string>",
"maintenance_mode": {
"enabled": true,
"status": "disabling"
},
"zero_downtime_deployments": true,
"deployment_retention": 123,
"deployment_script": "<string>",
"wildcards": true,
"app_type": "Statamic",
"uses_envoyer": true,
"deployment_url": "<string>",
"healthcheck_url": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
},
"relationships": {
"server": {
"data": {
"type": "servers",
"id": "<string>"
}
},
"tags": {
"data": [
{
"type": "tags",
"id": "<string>"
}
]
},
"latestDeployment": {
"data": {
"type": "deployments",
"id": "<string>"
}
},
"securityRules": {
"data": [
{
"type": "securityRules",
"id": "<string>"
}
]
},
"redirectRules": {
"data": [
{
"type": "redirect-rules",
"id": "<string>"
}
]
}
}
}
]
}{
"message": "<string>"
}{
"message": "<string>"
}Authorizations
The access token received from the authorization server in the OAuth 2.0 flow.
Query Parameters
The number of results that will be returned per page.
The cursor to start the pagination from.
The commit hash of the deployment.
Example:
"011118f"
The commit message of the deployment.
Example:
"WIP"
The commit author of the deployment.
Example:
"Taylor Otwell"
Available options:
created_at, -created_at Available options:
site, siteCount, siteExists, initiator, initiatorCount, initiatorExists Was this page helpful?