This repository has been archived on 2022-11-03. You can view files and clone it, but cannot push or open issues or pull requests.
DevOpsOpenHack/apis/trips/api/swagger.json

640 lines
16 KiB
JSON
Raw Normal View History

2022-11-03 20:41:13 +00:00
{
"swagger": "2.0",
"info": {
"version": "0.0.1",
"title": "MyDriving Trips API",
"description": "API for the user in the My Driving example app. https://github.com/Azure-Samples/openhack-devops-team"
},
"basePath": "/api",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"paths": {
"/healthcheck/trips": {
"x-swagger-router-controller": "healthcheck",
"get": {
"description": "Returns healthcheck for systems looking to ensure API is up and operational",
"responses": {
"200": {
"description": "Service is healthy",
"schema": {
"$ref": "#/definitions/Healthcheck"
}
},
"default": {
"description": "An error occurred",
"schema": {
"$ref": "#/definitions/error_response_default"
}
}
}
}
},
"/trips": {
"x-swagger-router-controller": "trips",
"get": {
"description": "Returns all trips",
"operationId": "getAllTrips",
"responses": {
"200": {
"description": "Trips found",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/trip"
}
}
},
"default": {
"description": "Unknown Error",
"schema": {
"$ref": "#/definitions/error_response_default"
}
}
}
},
"post": {
"description": "Create a trip",
"operationId": "createTrip",
"parameters": [
{
"name": "trip",
"in": "body",
"description": "Trip to add",
"required": true,
"schema": {
"$ref": "#/definitions/trip"
}
}
],
"responses": {
"201": {
"description": "Trip created",
"schema": {
"$ref": "#/definitions/trip"
}
},
"404": {
"description": "Trip contains invalid User ID",
"schema": {
"$ref": "#/definitions/error_response_default"
}
},
"409": {
"description": "Trip already exists",
"schema": {
"$ref": "#/definitions/error_response_default"
}
},
"default": {
"description": "Unknown Error",
"schema": {
"$ref": "#/definitions/error_response_default"
}
}
}
}
},
"/trips/user/{userID}": {
"x-swagger-router-controller": "trips",
"get": {
"description": "Returns all trips for a given user",
"operationId": "getAllTripsForUser",
"responses": {
"200": {
"description": "Trips found",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/trip"
}
}
},
"default": {
"description": "Unknown Error",
"schema": {
"$ref": "#/definitions/error_response_default"
}
}
},
"parameters": [
{
"name": "userID",
"in": "path",
"description": "User ID",
"type": "string",
"required": true
}
]
}
},
"/trips/{tripID}": {
"x-swagger-router-controller": "trips",
"get": {
"description": "Get Trip by ID",
"operationId": "getTripByID",
"responses": {
"200": {
"description": "Trip found",
"schema": {
"$ref": "#/definitions/trip"
}
},
"404": {
"description": "Trip not found",
"schema": {
"$ref": "#/definitions/error_response_default"
}
},
"default": {
"description": "Unknown Error",
"schema": {
"$ref": "#/definitions/error_response_default"
}
}
},
"parameters": [
{
"name": "tripID",
"in": "path",
"description": "Trip ID",
"type": "string",
"required": true
}
]
},
"patch": {
"description": "Update Trip",
"operationId": "updateTrip",
"responses": {
"200": {
"description": "Trip Updated",
"schema": {
"$ref": "#/definitions/trip"
}
},
"404": {
"description": "Trip not found"
},
"default": {
"description": "Unknown Error",
"schema": {
"$ref": "#/definitions/error_response_default"
}
}
},
"parameters": [
{
"name": "tripID",
"in": "path",
"description": "Trip ID",
"type": "string",
"required": true
},
{
"name": "trip",
"in": "body",
"description": "Trip to update",
"required": true,
"schema": {
"$ref": "#/definitions/trip"
}
}
]
},
"delete": {
"description": "Delete Trip By ID",
"operationId": "deleteTrip",
"responses": {
"204": {
"description": "Trip Deleted"
},
"404": {
"description": "Trip not found"
},
"default": {
"description": "Unknown Error",
"schema": {
"$ref": "#/definitions/error_response_default"
}
}
},
"parameters": [
{
"name": "tripID",
"in": "path",
"description": "Trip ID",
"type": "string",
"required": true
}
]
}
},
"/trips/{tripID}/trippoints": {
"x-swagger-router-controller": "trippoints",
"get": {
"description": "Get Trip Points by Trip Id",
"operationId": "getTripPoints",
"responses": {
"200": {
"description": "Trip Points found",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/tripPoint"
}
}
},
"default": {
"description": "Unknown Error",
"schema": {
"$ref": "#/definitions/error_response_default"
}
}
},
"parameters": [
{
"name": "tripID",
"in": "path",
"description": "Trip ID",
"type": "string",
"required": true
}
]
},
"post": {
"description": "Create Trip Point for Trip",
"operationId": "createTripPoint",
"parameters": [
{
"name": "tripID",
"in": "path",
"description": "Trip ID",
"type": "string",
"required": true
},
{
"name": "tripPoint",
"in": "body",
"description": "Trip Point to add",
"required": true,
"schema": {
"$ref": "#/definitions/tripPoint"
}
}
],
"responses": {
"201": {
"description": "Trip Point created",
"schema": {
"$ref": "#/definitions/tripPoint"
}
},
"404": {
"description": "Trip Point contains invalid Trip ID",
"schema": {
"$ref": "#/definitions/error_response_default"
}
},
"409": {
"description": "Trip Point already exists",
"schema": {
"$ref": "#/definitions/error_response_default"
}
},
"default": {
"description": "Unknown Error",
"schema": {
"$ref": "#/definitions/error_response_default"
}
}
}
}
},
"/trips/{tripID}/trippoints/{tripPointID}": {
"x-swagger-router-controller": "trippoints",
"get": {
"description": "Get Trip Point by Trip ID and Trip Point ID",
"operationId": "getTripPointByID",
"responses": {
"200": {
"description": "Trip Point found",
"schema": {
"$ref": "#/definitions/tripPoint"
}
},
"404": {
"description": "Trip Point not found",
"schema": {
"$ref": "#/definitions/error_response_default"
}
},
"default": {
"description": "Unknown Error",
"schema": {
"$ref": "#/definitions/error_response_default"
}
}
},
"parameters": [
{
"name": "tripID",
"in": "path",
"description": "Trip ID",
"type": "string",
"required": true
},
{
"name": "tripPointID",
"in": "path",
"description": "Trip Point ID",
"type": "string",
"required": true
}
]
},
"patch": {
"description": "Update Trip Point",
"operationId": "updateTripPoint",
"responses": {
"200": {
"description": "Trip Point Updated",
"schema": {
"$ref": "#/definitions/tripPoint"
}
},
"404": {
"description": "Trip Point not found"
},
"default": {
"description": "Unknown Error",
"schema": {
"$ref": "#/definitions/error_response_default"
}
}
},
"parameters": [
{
"name": "tripID",
"in": "path",
"description": "Trip ID",
"type": "string",
"required": true
},
{
"name": "tripPointID",
"in": "path",
"description": "Trip Point ID",
"type": "string",
"required": true
},
{
"name": "tripPoint",
"in": "body",
"description": "Trip Point to update",
"required": true,
"schema": {
"$ref": "#/definitions/tripPoint"
}
}
]
},
"delete": {
"description": "Delete Trip Point By ID",
"operationId": "deleteTripPoint",
"responses": {
"204": {
"description": "Trip Point Deleted"
},
"404": {
"description": "Trip Point not found"
},
"default": {
"description": "Unknown Error",
"schema": {
"$ref": "#/definitions/error_response_default"
}
}
},
"parameters": [
{
"name": "tripID",
"in": "path",
"description": "Trip ID",
"type": "string",
"required": true
},
{
"name": "tripPointID",
"in": "path",
"description": "Trip Point ID",
"type": "string",
"required": true
}
]
}
},
"/swagger": {
"x-swagger-pipe": "swagger_raw"
}
},
"definitions": {
"Healthcheck": {
"type": "object",
"properties": {
"message": {
"type": "string",
"description": ""
},
"status": {
"type": "string",
"description": ""
}
}
},
"error_response_default": {
"type": "object",
"properties": {
"status": {
"description": "Error code (if available)",
"type": "integer",
"format": "int32"
},
"message": {
"description": "Error Message",
"type": "string"
}
}
},
"trip": {
"type": "object",
"properties": {
"Id": {
"type": "string",
"description": "Trip ID",
"minLength": 0,
"maxLength": 128
},
"Name": {
"type": "string",
"minLength": 0,
"maxLength": 45,
"pattern": "^[A-Za-z \u0000-\u007f][a-zA-Z \u0000-\u007f]*$"
},
"UserId": {
"type": "string",
"description": "User's unique identity"
},
"RecordedtimeStamp": {
"type": "string",
"format": "date"
},
"EndtimeStamp": {
"type": "string",
"format": "date"
},
"Rating": {
"type": "integer",
"format": "int32"
},
"IsComplete": {
"type": "boolean"
},
"HasSimulatedOBDData": {
"type": "boolean"
},
"AverageSpeed": {
"type": "number",
"format": "float"
},
"FuelUsed": {
"type": "number",
"format": "float"
},
"HardStops": {
"type": "integer",
"format": "int64"
},
"HardAccelerations": {
"type": "integer",
"format": "int64"
},
"Distance": {
"type": "number",
"format": "float"
},
"CreatedAt": {
"type": "string",
"format": "date-time"
},
"UpdatedAt": {
"type": "string",
"format": "date-time"
},
"Deleted": {
"type": "boolean"
}
}
},
"tripPoint": {
"type": "object",
"properties": {
"Id": {
"type": "string",
"description": "Trip Point ID",
"minLength": 0,
"maxLength": 128
},
"TripId": {
"type": "string",
"description": "Trip ID",
"minLength": 0,
"maxLength": 128
},
"Latitude": {
"type": "number",
"format": "float"
},
"Longitude": {
"type": "number",
"format": "float"
},
"Speed": {
"type": "number",
"format": "float"
},
"RecordedTimeStamp": {
"type": "string",
"format": "date"
},
"Sequence": {
"type": "integer",
"format": "int32"
},
"RPM": {
"type": "number",
"format": "float"
},
"ShortTermFuelBank": {
"type": "number",
"format": "float"
},
"LongTermFuelBank": {
"type": "number",
"format": "float"
},
"ThrottlePosition": {
"type": "number",
"format": "float"
},
"RelativeThrottlePosition": {
"type": "number",
"format": "float"
},
"Runtime": {
"type": "number",
"format": "float"
},
"DistanceWithMalfunctionLight": {
"type": "number",
"format": "float"
},
"EngineLoad": {
"type": "number",
"format": "float"
},
"MassFlowRate": {
"type": "number",
"format": "float"
},
"EngineFuelRate": {
"type": "number",
"format": "float"
},
"VIN": {
"type": "string"
},
"HasOBDData": {
"type": "boolean"
},
"HasSimulatedOBDData": {
"type": "boolean"
},
"CreatedAt": {
"type": "string",
"format": "date-time"
},
"UpdatedAt": {
"type": "string",
"format": "date-time"
},
"Deleted": {
"type": "boolean"
}
}
}
}
}