Court Types & Levels

Above a court branch sits a three-level hierarchy: a court type (e.g. Regional Trial Court), a court level (e.g. First Level, Second Level), and a court station (a province-scoped grouping of branches for a given court type, e.g. "Quezon City RTC").

Court types

Properties

  • Name
    id
    Type
    string
    Description

    Unique identifier for the court type.

  • Name
    name
    Type
    string
    Description

    The court type's name, e.g. "Regional Trial Court". 2–100 characters.

  • Name
    code
    Type
    string
    Description

    A unique short code, e.g. RTC.

  • Name
    description
    Type
    string | null
    Description

    Free-text description.

  • Name
    court_level
    Type
    string
    Description

    The code of the parent court level.

  • Name
    status
    Type
    string
    Description

    One of active, inactive.

  • Name
    order_column
    Type
    integer
    Description

    Display/sort order.

List all court types

Retrieve all court types, ordered by order_column.

Request

GET
/api/court-types
curl https://your-domain.com/api/court-types \
  -H "Accept: application/json" \
  -H "X-XSRF-TOKEN: {token}" \
  --cookie "cms_admin_session={session}"

Response

{
  "data": [
    {
      "id": "6d5c4b3a-2918-0f7e-6d5c-4b3a29180f7e",
      "name": "Regional Trial Court",
      "code": "RTC",
      "description": null,
      "status": "active",
      "court_level": {"id": "4b3a2918-0f7e-6d5c-4b3a-29180f7e6d5c", "name": "Second Level", "code": "2L"},
      "order_column": 3
    }
  ]
}

Create a court type

Required attributes

  • Name
    name
    Type
    string
    Description

    2–100 characters.

  • Name
    code
    Type
    string
    Description

    Must be unique.

  • Name
    court_level
    Type
    string
    Description

    Must reference the code of an existing court level.

  • Name
    status
    Type
    string
    Description

    Either active or inactive.

Optional attributes

  • Name
    description
    Type
    string
    Description

    Free-text description.

Request

POST
/api/court-types
curl -X POST https://your-domain.com/api/court-types \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -H "X-XSRF-TOKEN: {token}" \
  --cookie "cms_admin_session={session}" \
  -d '{"name": "Metropolitan Trial Court", "code": "MeTC", "court_level": "1L", "status": "active"}'

Response

{
  "data": {
    "id": "3a291807-6f5e-4d3c-3a29-18076f5e4d3c",
    "name": "Metropolitan Trial Court",
    "code": "MeTC",
    "status": "active",
    "created_at": "2026-02-20T10:30:00+00:00"
  }
}

Court levels

Properties

  • Name
    id
    Type
    string
    Description

    Unique identifier for the court level.

  • Name
    name
    Type
    string
    Description

    The level's name, e.g. "First Level", "Second Level". 2–100 characters.

  • Name
    code
    Type
    string
    Description

    A unique short code, e.g. 1L.

  • Name
    description
    Type
    string | null
    Description

    Free-text description.

  • Name
    status
    Type
    string
    Description

    One of active, inactive.

List all court levels

Retrieve all court levels.

Request

GET
/api/court-levels
curl https://your-domain.com/api/court-levels \
  -H "Accept: application/json" \
  -H "X-XSRF-TOKEN: {token}" \
  --cookie "cms_admin_session={session}"

Response

{
  "data": [
    {"id": "4b3a2918-0f7e-6d5c-4b3a-29180f7e6d5c", "name": "Second Level", "code": "2L", "status": "active"},
    {"id": "2918-0f7e-6d5c-4b3a-29180f7e6d5c-4b3a", "name": "First Level", "code": "1L", "status": "active"}
  ]
}

Create a court level

Required attributes

  • Name
    name
    Type
    string
    Description

    2–100 characters.

  • Name
    code
    Type
    string
    Description

    Must be unique.

  • Name
    status
    Type
    string
    Description

    Either active or inactive.

Optional attributes

  • Name
    description
    Type
    string
    Description

    Free-text description.

Request

POST
/api/court-levels
curl -X POST https://your-domain.com/api/court-levels \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -H "X-XSRF-TOKEN: {token}" \
  --cookie "cms_admin_session={session}" \
  -d '{"name": "First Level", "code": "1L", "status": "active"}'

Response

{
  "data": {
    "id": "0f7e6d5c-4b3a-2918-0f7e-6d5c4b3a2918",
    "name": "First Level",
    "code": "1L",
    "status": "active",
    "created_at": "2026-02-20T10:30:00+00:00"
  }
}

Court stations

A court station groups branches of a given court type within a province — e.g. all RTC branches in Quezon City.

Properties

  • Name
    id
    Type
    string
    Description

    Unique identifier for the court station.

  • Name
    name
    Type
    string
    Description

    The station's name, e.g. "Quezon City". 2–100 characters.

  • Name
    code
    Type
    string
    Description

    A unique short code, e.g. QC-RTC.

  • Name
    court_type_id
    Type
    string
    Description

    The parent court type.

  • Name
    province_code
    Type
    string
    Description

    The PSGC code of the province this station is located in — see Locations.

Create a court station

Required attributes

  • Name
    name
    Type
    string
    Description

    2–100 characters.

  • Name
    code
    Type
    string
    Description

    Must be unique.

  • Name
    court_type_id
    Type
    string
    Description

    Must reference an existing court type.

  • Name
    province_code
    Type
    string
    Description

    Must reference an existing province.

Request

POST
/api/court-type-stations
curl -X POST https://your-domain.com/api/court-type-stations \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -H "X-XSRF-TOKEN: {token}" \
  --cookie "cms_admin_session={session}" \
  -d '{
    "name": "Quezon City",
    "code": "QC-RTC",
    "court_type_id": "6d5c4b3a-2918-0f7e-6d5c-4b3a29180f7e",
    "province_code": "1374"
  }'

Response

{
  "data": {
    "id": "5e6f7a8b-9c0d-1e2f-3a4b-5c6d7e8f9a0b",
    "name": "Quezon City",
    "code": "QC-RTC",
    "province_code": "1374",
    "court_type_id": "6d5c4b3a-2918-0f7e-6d5c-4b3a29180f7e",
    "created_at": "2026-02-20T10:30:00+00:00"
  }
}

Case categories & types

Every case record also references a case category (e.g. Civil, Criminal) and a case type (e.g. Collection of Sum of Money), managed via /api/case-categories and /api/case-types with the same create/update shape as above (name, code, description, status). A case type additionally has case_category_id, classification (drives Individual/Juridical/Government Agency party labels), and has_counsels (whether counsel fields apply to this case type).

Was this page helpful?