Court Branches
A court branch is a specific presiding branch within a court station (e.g. "Branch 12" of the Quezon City RTC). Case records are raffled to and assigned a branch, and users (judges, BCC staff) are assigned to branches to scope their access.
The court-branches endpoints currently have no permission middleware enforced — a permission:Update Case Branches gate exists in the route definitions but is commented out, so any authenticated user can currently read and write this resource. Document and integrate against the current (open) behavior, not the gate as written in code.
The court branch model
- Name
id- Type
- string
- Description
Unique UUID identifier for the branch.
- Name
name- Type
- string
- Description
The branch name, e.g.
"Branch 12". 2–100 characters.
- Name
formatted_name- Type
- string
- Description
Computed display name combining
nameand the parent station's code, e.g."Branch 12 - QC-RTC".
- Name
judge- Type
- string
- Description
Name of the presiding judge.
- Name
category- Type
- string | null
- Description
Special court category, if any — e.g.
Family Court,Commercial Court,Drug Court,Environmental Court,Cybercrime Court,Commercial/Intellectual Property (IP) Court,Special Agrarian Court.
- Name
address- Type
- string | null
- Description
Physical address of the branch.
- Name
status- Type
- string | null
- Description
Branch status, e.g.
active.
- Name
court_station_id- Type
- string
- Description
The court station this branch belongs to.
- Name
user_id- Type
- string
- Description
The user who created the branch record. Automatically set to the authenticated user on creation.
- Name
created_at- Type
- timestamp
- Description
Timestamp when the branch was created.
List all court branches
Retrieve a list of court branches, including their parent station.
Request
curl https://your-domain.com/api/court-branches \
-H "Accept: application/json" \
-H "X-XSRF-TOKEN: {token}" \
--cookie "cms_admin_session={session}"
Response
{
"data": [
{
"id": "9c8d7e6f-5a4b-3210-9c8d-7e6f5a4b3210",
"name": "Branch 12",
"formatted_name": "Branch 12 - QC-RTC",
"judge": "Hon. Ana Villanueva",
"category": null,
"address": "Hall of Justice, Quezon City",
"status": "active",
"court_station_id": "5e6f7a8b-9c0d-1e2f-3a4b-5c6d7e8f9a0b",
"created_at": "2026-01-05 08:00 am"
}
]
}
Create a court branch
Create a new court branch under a court station.
Required attributes
- Name
name- Type
- string
- Description
2–100 characters.
- Name
judge- Type
- string
- Description
Name of the presiding judge.
- Name
court_station_id- Type
- string
- Description
Must reference an existing court station.
Optional attributes
- Name
address- Type
- string
- Description
Physical address of the branch.
- Name
category- Type
- string
- Description
Special court category, if applicable.
Request
curl -X POST https://your-domain.com/api/court-branches \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "X-XSRF-TOKEN: {token}" \
--cookie "cms_admin_session={session}" \
-d '{
"name": "Branch 13",
"judge": "Hon. Roberto Cruz",
"court_station_id": "5e6f7a8b-9c0d-1e2f-3a4b-5c6d7e8f9a0b"
}'
Response
{
"data": {
"id": "1f2e3d4c-5b6a-7908-1f2e-3d4c5b6a7908",
"name": "Branch 13",
"formatted_name": "Branch 13 - QC-RTC",
"judge": "Hon. Roberto Cruz",
"court_station_id": "5e6f7a8b-9c0d-1e2f-3a4b-5c6d7e8f9a0b",
"created_at": "2026-02-20 10:30 am"
}
}
Retrieve a court branch
Retrieve a single court branch by its UUID.
Path parameters
- Name
courtBranch- Type
- string
- Description
The UUID of the court branch.
Request
curl https://your-domain.com/api/court-branches/9c8d7e6f-5a4b-3210-9c8d-7e6f5a4b3210 \
-H "Accept: application/json" \
-H "X-XSRF-TOKEN: {token}" \
--cookie "cms_admin_session={session}"
Response
{
"data": {
"id": "9c8d7e6f-5a4b-3210-9c8d-7e6f5a4b3210",
"name": "Branch 12",
"formatted_name": "Branch 12 - QC-RTC",
"judge": "Hon. Ana Villanueva",
"station": {
"id": "5e6f7a8b-9c0d-1e2f-3a4b-5c6d7e8f9a0b",
"name": "Quezon City",
"code": "QC-RTC"
}
}
}
Update a court branch
Update a court branch's details. Uses the same validation as create.
Path parameters
- Name
courtBranch- Type
- string
- Description
The UUID of the court branch to update.
Request
curl -X PUT https://your-domain.com/api/court-branches/9c8d7e6f-5a4b-3210-9c8d-7e6f5a4b3210 \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "X-XSRF-TOKEN: {token}" \
--cookie "cms_admin_session={session}" \
-d '{"name": "Branch 12", "judge": "Hon. Ana Villanueva-Reyes", "court_station_id": "5e6f7a8b-9c0d-1e2f-3a4b-5c6d7e8f9a0b"}'
Response
{
"data": {
"id": "9c8d7e6f-5a4b-3210-9c8d-7e6f5a4b3210",
"judge": "Hon. Ana Villanueva-Reyes",
"updated_at": "2026-02-20T11:00:00+00:00"
}
}
Delete a court branch
Soft-delete a court branch.
Path parameters
- Name
courtBranch- Type
- string
- Description
The UUID of the court branch to delete.
Request
curl -X DELETE https://your-domain.com/api/court-branches/9c8d7e6f-5a4b-3210-9c8d-7e6f5a4b3210 \
-H "Accept: application/json" \
-H "X-XSRF-TOKEN: {token}" \
--cookie "cms_admin_session={session}"
Response
{
"message": "Court branch deleted successfully."
}
List branches (Super Admin)
A simplified, paginated, and searchable branch list. Requires the Super Admin role.
Optional attributes
- Name
search- Type
- string
- Description
Search branches by name.
- Name
page- Type
- integer
- Description
Page number (default: 1).
Request
curl -G https://your-domain.com/api/branches \
-H "Accept: application/json" \
-H "X-XSRF-TOKEN: {token}" \
--cookie "cms_admin_session={session}" \
--data-urlencode "search=Branch 1"
Response
{
"data": [
{"id": "9c8d7e6f-5a4b-3210-9c8d-7e6f5a4b3210", "name": "Branch 12"}
],
"meta": {"current_page": 1, "last_page": 1, "total": 1}
}