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.
Path Parameters
The organization slug
The server ID
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 Response
Paginated set of DeploymentResource
Was this page helpful?