---
# System prepended metadata

title: Transit V2 API
tags: [Transit, ' API']

---

---
title: Transit V2 API
tags: Transit, API
description: Transit V2 API Info
---

# Transit V2 API

---

This the Documentation for the new API

---

## JSON Data Objects for Phase 1 

 
### Bus 
```json=
{
    'bus_ID': Int,
    'trip_ID': Int, 
    'GPS_ID': Int, 
    'location': 
        {
            'lat': Float,
            'long': Float
        },
    'status': String
}
```

### ROUTES
```json=
{
    'route_ID': Int,
    'trip_ID': Int,
    'bus_ID': Int 
}
```

---

## GTFS Data Objects Used to Handle Static Data

### AGENCY
```json=
{
    'id': String, // DB identifier
    'agency_id': String,
    'agency_name': String,
    'agency_url': String,
    'agency_timezone': String,
    'agency_lang': String,
    'agency_phone': String,
    'agency_fare_url': String,
    'agency_email': String
}
```

### CALENDAR
```json=
{
    'id': String, // DB identifier
    'agency_id': String,
    'service_id': String,
    'monday': Int,
    'tuesday': Int,
    'wednesday': Int,
    'thursday': Int,
    'friday': Int,
    'saturday': Int,
    'sunday': Int,
    'start_date': Date,
    'end_date': Date
}
```

### ROUTE
```json=
{
    'id': String, // DB identifier
    'agency_id': String,
    'route_id': String,
    'route_short_name': String,
    'route_long_name': String,
    'route_desc': String,
    'route_type': Int,
    'route_url': String,
    'route_color': String,
    'route_text_color': String
}
```

### STOP
```json=
{
    'id': String, // DB identifier
    'agency_id': String,
    'stop_id': String,
    'stop_code': String,
    'stop_name': String,
    'stop_desc': String,
    'stop_lat': Double,
    'stop_lon': Double,
    'zone_id': String,
    'location_type': Int,
    'parent_station': String,
    'stop_timezone': String,
    'wheelchair_boarding': Int
}
```

### STOP_TIME
```json=
{
    'id': String, // DB identifier
    'agency_id': String,
    'trip_id': String,
    'arrival_time': Date,
    'departure_time': Date,
    'stop_id': String,
    'stop_sequence': Int,
    'pickup_type': Int,
    'drop_off_type': Int,
    'shape_dist_traveled': String,
    'stop_headsign': String,
    'timepoint': Int
}
```

### TRIP
```json=
{
    'id': String, // DB identifier
    'agency_id': String,
    'route_id': String,
    'service_id': String,
    'trip_id': String,
    'trip_headsign': String,
    'trip_short_name': String,
    'direction_id': Int,
    'block_id': String,
    'shape_id': String,
    'wheelchair_accessible': Int,
    'bikes_allowed': Int
}
```
---

## AUTH

### USERS 
```json=
{
    'email': String,  
    'password': String, 
    'favorites': Array (Route ID's),
    'name':{
        'firstName': String,
        'lastName': String
    } 
}
```
 

### DISPATCHER 
```json=
{
    'email': String, 
    'password': String,
    'name':{
        'firstName': String,
        'lastName': String
    }
}
```

### ADMIN 
```json=
{
    'email': String, 
    'password': String,
}
```

---

## ROUTES

### BUSES

#### GET

- <code class="green">GET</code> /api/buses/
```json=
{
 [
  {
    JSON Object Array of All Buses
  }
 ]
}
```
<br>

- <code class="green">GET</code> /api/buses/:id
```json=
{
    'bus_ID': Int,
    'trip_ID': Int, 
    'GPS_ID': Int, 
    'location': 
        {
            'lat': Float,
            'long': Float
        }, 
    'status': String
}
```
<br>

- <code class="green">GET</code> /api/buses?route=routeId
```json=
{
    'bus_ID': Int,
    'trip_ID': Int, 
    'GPS_ID': Int, 
    'location': 
        {
            'lat': Float,
            'long': Float
        }, 
    'status': String
}
```
<br>

- <code class="green">GET</code> /api/buses?status=String
```json=
{
    {
        'bus_ID': Int,
        'trip_ID': Int, 
        'GPS_ID': Int, 
        'location': 
            {
                'lat': Float,
                'long': Float
            }, 
        'status': String
    }
}
```

#### POST (ADMIN ONLY)

- <code class="blue">POST</code> /api/buses/
```json=
{
    {
        'bus_ID': Int,
        'trip_ID': Int, 
        'GPS_ID': Int, 
        'location': 
            {
                'lat': Float,
                'long': Float
            }, 
        'status': String
    }
}
```

#### UPDATE (ADMIN ONLY)

- <code class="purple">PATCH BY ID</code> /api/buses/:id
```json=
{
    {
        'bus_ID': Int,
        'trip_ID': Int, 
        'GPS_ID': Int, 
        'location': 
            {
                'lat': Float,
                'long': Float
            },  
        'status': String
    }
}
```

#### DELETE (ADMIN ONLY)

- <code class="red">DELETE BY ID</code> /api/buses/:id
```json=
{
 Successful!
 
 or
 
 Not successful!
}
```
<br>

### ROUTES

#### GET

- <code class="green">GET</code> /api/routes/
```json=
{
 [
  {
    JSON Object Array of All Bus Routes
  }
 ]
}
```
<br>

- <code class="green">GET BY ID</code> /api/routes/:id
```json=
{
    'route_No': Int, 
    'trip_ID': Int,
    'bus_ID': Int 
}
```

#### POST (ADMIN ONLY)
- <code class="blue">POST BY ID</code> /api/routes/
```json=
{
    'route_No': Int, 
    'trip_ID': Int,
    'bus_ID': Int 
}
```

#### UPDATE (ADMIN ONLY)
- <code class="purple">Patch BY ID</code> /api/routes/:id
```json=
{
    'route_No': Int, 
    'trip_ID': Int,
    'bus_ID': Int 
}
```

#### DELETE (ADMIN ONLY)

- <code class="red">DELETE BY ID</code> /api/routes/:id
```json=
{
 Successful!
 
 or
 
 Not successful! 
}
```
<br>

### USERS


- <code class="green">GET BY USER ID</code> /api/users/:id
```json=
{
    'email': String,  
    'password': empty, 
    'favorites': Json Object Array List,
    'name':{
        'firstName': String,
        'lastName': String
    } 
}
```
<br>

- <code class="blue">POST USER</code> /api/users/
```json=
{ 
    'email': String,  
    'password': String, 
    'favorites': Json List,
    'name':{
        'firstName': String,
        'lastName': String
    } 
}
```
<br>

- <code class="purple">PATCH BY USER ID</code> /api/users/:id
```json=
{
    (Whatever needs to be changed)
    'email': String,  
    'password': String, 
    'favorites': Json List,
    'name':{
        'firstName': String,
        'lastName': String
    } 
}
```
<br>



- <code class="red">DELETE BY USER ID</code> /api/users/user/:id
```json=
{
    Successful! 
    
    or
    
    Not Successful!
}
```

#### USERS FAVORITES

- <code class="green">GET FAVORITES BY USER ID</code> /api/users/favorites/:id
```json=
{ 
 [
  {
    JSON Object Array of Favorites
  }
 ]
}
```
<br>

- <code class="blue">PATCH FAVORITES BY USER ID</code> /api/users/favorites/:id
```json=
{
    Json Object Array
}
```
<br>

### DISPATCHER

- <code class="green">GET BY DISPATCHER ID</code> /api/dispatchers/dispatcher/:id
```json=
{
    'email': String, 
    'password': String,
    'name':{
        'firstName': String,
        'lastName': String
    }
}
```
<br>

- <code class="green">GET BY BUS ID</code> /api/dispatchers/bus/:id
```json=
{
    'bus_ID': Int,
    'route_No': Int, 
    'trip_ID': Int, 
    'GPS_ID': Int, 
    'location': Float, 
    'status': Boolean
}
```
<br>

- <code class="blue">POST BY BUS ID</code> /api/dispatchers/bus/:id
```json=
{
    'bus_ID': Int,
    'route_No': Int, 
    'trip_ID': Int, 
    'GPS_ID': Int, 
    'location': Float, 
    'status': Boolean
}
```
<br>

- <code class="purple">PATCH BY BUS ID</code> /api/dispatchers/bus/:id
```json=
{
    'bus_ID': Int,
    'route_No': Int, 
    'trip_ID': Int, 
    'GPS_ID': Int, 
    'location': Float, 
    'status': Boolean
}
```
<br>

- <code class="red">DELETE BY BUS ID</code> /api/dispatchers/bus/:id
```json=
{
    Successful! 
    
    or
    
    Not Successful!
}
```
<br>

### ADMIN

- <code class="green">GET</code> /api/admins/allDispatchers
```json=
{
    JSON Object Array with all Dispatchers
}
```
<br>

- <code class="green">GET</code> /api/admins/allBuses
```json=
{
    JSON Object Array with all Buses
}
```
<br>

- <code class="green">GET</code> /api/admins/allRoutes
```json=
{
    JSON Object Array with all Routes
}
```
<br>

- <code class="green">GET</code> /api/admins/allUsers
```json=
{
    JSON Object Array with all Users
}
```
<br>

- <code class="green">GET</code> /api/admins/allBusStops
```json=
{
    JSON Object Array with all Bus Stops
}
```
<br>

- <code class="green">GET BY GPS SERIAL</code> /api/admins/buses/GPS/:serial
```json=
{
    'bus_ID': Int,
    'route_No': Int, 
    'trip_ID': Int, 
    'GPS_ID': Int, 
    'location': Float, 
    'status': Boolean
}
```

- <code class="blue">POST</code> /api/admins/dispatcher/
```json=
{
    firstName: String,
    lastName: String,
    username: String,
    email: String,
    password: String
    dispatcher: true
}
```
<br>

- <code class="blue">POST</code> /api/admins/route/
```json=
{
    'route_No': Int, 
    'trip_ID': Int,
    'bus_ID': Int 
}
```
<br>

- <code class="blue">POST</code> /api/admins/admin/
```json=
{
    firstName: String,
    lastName: String,
    username: String,
    email: String,
    password: String,
    admin: true
}
```
<br>

- <code class="blue">POST</code> /api/admins/busStops/
```json=
{
    'route_No': Int,
    'stop_ID': Int,
    'location': Float
}
```
<br>

- <code class="purple">PATCH BY DISPATCHER ID</code> /api/admins/dispatcher/:id
```json=
{
    firstName: String,
    lastName: String,
    username: String,
    email: String,
    password: String,
    dispatcher: true
}
```
<br>

- <code class="purple">PATCH BY ROUTE ID</code> /api/admins/route/:id
```json=
{
    'route_No': Int, 
    'trip_ID': Int,
    'bus_ID': Int 
}
```
<br>

- <code class="purple">PATCH BY ADMIN ID</code> /api/admins/admin/:id
```json=
{
    firstName: String,
    lastName: String,
    username: String,
    email: String,
    password: String,
    admin: true
}
```
<br>

- <code class="purple">PATCH BY BUSSTOPS ID</code> /api/admins/busStops/:id
```json=
{
    'route_No': Int,
    'stop_ID': Int,
    'location': Float
}
```
<br>

- <code class="red">DELETE BY BUS ID</code> /api/admins/bus/:id
```json=
{
    Successful! 
    
    or
    
    Not Successful!
}
```
<br>

- <code class="red">DELETE BY DISPATCHER ID</code> /api/admins/dispatcher/:id
```json=
{
    Successful! 
    
    or
    
    Not Successful!
}
```
<br>

- <code class="red">DELETE BY ADMIN ID</code> /api/admins/admin/:id
```json=
{
    Successful! 
    
    or
    
    Not Successful!
}
```
<br>

- <code class="red">DELETE BY BUSSTOPS ID</code> /api/admins/bussStops/:id
```json=
{
    Successful! 
    
    or
    
    Not Successful!
}
```
<br>




<style>
code.green {
    color: #01A024 !important;
}
code.blue {
  color: #337AB7 !important;
}
code.purple {
  color: #46019A !important;
}
code.red {
  color: #d30000 !important;
}
</style>