UniFlitzer API (v0.0.1)

Download OpenAPI specification:Download

The UniFlitzer API enables users to offer, join or request rides and communicate with each other. It also promotes the formation of long-term carpools. Verifying through university login and providing detailed information about drivers and passengers, ensures a safe, student-only community

User

createUser

Create a new user.

Authorizations:
Token Authentication
Request Body schema: application/json
required
firstName
required
string [ 1 .. 100 ] characters
lastName
required
string [ 1 .. 100 ] characters
birthday
required
string^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)...
gender
required
string
Enum: "Male" "Female" "Diverse" "PreferNotToSay"
required
object (AddressDP)
studyProgramme
required
string [ 2 .. 100 ] characters

Responses

Request samples

Content type
application/json
{
  • "firstName": "string",
  • "lastName": "string",
  • "birthday": "2024-12-24T12:00:00+01:00",
  • "gender": "Male",
  • "address": {
    },
  • "studyProgramme": "string"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}

getImageOfCarOfUser

Get the image of a specific car of a specific user.

Authorizations:
Token Authentication
path Parameters
userId
required
string <uuid>
carIndex
required
integer <int32> >= 0
query Parameters
quality
required
string
Enum: "Full" "Preview"

Responses

Response samples

Content type
application/json
{
  • "messages": [
    ]
}

createImageForCarOfUser

Create an image for a specific car of a specific user.

Authorizations:
Token Authentication
path Parameters
userId
required
string <uuid>
carIndex
required
integer <int32> >= 0
Request Body schema: multipart/form-data
image
required
string <binary>

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}

getImageOfUser

Get the image of a specific user.

Authorizations:
Token Authentication
path Parameters
id
required
string <uuid>
query Parameters
quality
required
string
Enum: "Full" "Preview"

Responses

Response samples

Content type
application/json
{
  • "messages": [
    ]
}

createImageForUser

Create an image for a specific user.

Authorizations:
Token Authentication
path Parameters
id
required
string <uuid>
Request Body schema: multipart/form-data
image
required
string <binary>

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}

deleteImageOfUser

Delete the image of a specific user.

Authorizations:
Token Authentication
path Parameters
id
required
string <uuid>

Responses

Response samples

Content type
application/json
{
  • "messages": [
    ]
}

createCarForUser

Create a car for a specific user.

Authorizations:
Token Authentication
path Parameters
id
required
string <uuid>
Request Body schema: application/json
required
brand
required
string [ 3 .. 50 ] characters
model
required
string [ 3 .. 50 ] characters
color
required
string [ 3 .. 50 ] characters
licencePlate
required
string^[A-ZÖÜÄ]{1,3} [A-ZÖÜÄ]{1,2} [1-9]{1}[0-9]{1,...

Responses

Request samples

Content type
application/json
{
  • "brand": "string",
  • "model": "string",
  • "color": "string",
  • "licencePlate": "string"
}

Response samples

Content type
application/json
{
  • "messages": [
    ]
}

getUser

Get details of a specific user.

Authorizations:
Token Authentication
path Parameters
id
required
string <uuid>

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "firstName": "string",
  • "lastName": "string",
  • "birthday": "2024-12-24T12:00:00+01:00",
  • "gender": "Male",
  • "address": {
    },
  • "description": "string",
  • "studyProgramme": "string",
  • "isSmoking": true,
  • "animals": [
    ],
  • "drivingStyle": "Defensive",
  • "cars": [
    ]
}

deleteUser

Delete a specific user.

Authorizations:
Token Authentication
path Parameters
id
required
string <uuid>

Responses

Response samples

Content type
application/json
{
  • "messages": [
    ]
}

updateUser

Update a specific user.

Authorizations:
Token Authentication
path Parameters
id
required
string <uuid>
Request Body schema: application/json
required
firstName
string [ 1 .. 100 ] characters
lastName
string [ 1 .. 100 ] characters
birthday
string^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)...
gender
string
Enum: "Male" "Female" "Diverse" "PreferNotToSay"
object (AddressDP)
studyProgramme
string [ 2 .. 200 ] characters
description
string
isSmoking
boolean
animals
Array of strings
Items Enum: "Dog" "Cat" "Horse" "Rodent" "Bird"
drivingStyle
string
Enum: "Defensive" "Relaxed" "Normal" "Passionate"

Responses

Request samples

Content type
application/json
{
  • "firstName": "string",
  • "lastName": "string",
  • "birthday": "2024-12-24T12:00:00+01:00",
  • "gender": "Male",
  • "address": {
    },
  • "studyProgramme": "string",
  • "description": "string",
  • "isSmoking": true,
  • "animals": [
    ],
  • "drivingStyle": "Defensive"
}

Response samples

Content type
application/json
{
  • "messages": [
    ]
}

getDrivesOfUser

Get all drives of a specific user.

Authorizations:
Token Authentication
path Parameters
id
required
string <uuid>
query Parameters
pageNumber
required
integer <int32> >= 1
perPage
required
integer <int32> [ 1 .. 50 ]
sortingDirection
string
Enum: "Ascending" "Descending"

Responses

Response samples

Content type
application/json
{
  • "maximumPage": 0,
  • "content": [
    ]
}

getDriveRequestsOfUser

Get all drive requests of a specific user.

Authorizations:
Token Authentication
path Parameters
id
required
string <uuid>
query Parameters
pageNumber
required
integer <int32> >= 1
perPage
required
integer <int32> [ 1 .. 50 ]
sortingDirection
string
Enum: "Ascending" "Descending"

Responses

Response samples

Content type
application/json
{
  • "maximumPage": 0,
  • "content": [
    ]
}

getDriveOffersOfUser

Get all drive offers of a specific user.

Authorizations:
Token Authentication
path Parameters
id
required
string <uuid>
query Parameters
pageNumber
required
integer <int32> >= 1
perPage
required
integer <int32> [ 1 .. 50 ]
sortingDirection
string
Enum: "Ascending" "Descending"

Responses

Response samples

Content type
application/json
{
  • "maximumPage": 0,
  • "content": [
    ]
}

deleteCarOfUser

Delete the car of a specific user.

Authorizations:
Token Authentication
path Parameters
userId
required
string <uuid>
carIndex
required
integer <int32> >= 0

Responses

Response samples

Content type
application/json
{
  • "messages": [
    ]
}

Drives

confirmUserStop

Confirm that your are waiting at a specific user stop of a specific drive.

Authorizations:
Token Authentication
path Parameters
driveId
required
string <uuid>
userId
required
string <uuid>

Responses

Response samples

Content type
application/json
{
  • "messages": [
    ]
}

getDrive

Get details of a specific drive.

Authorizations:
Token Authentication
path Parameters
id
required
string <uuid>

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "driver": {
    },
  • "car": {
    },
  • "passengers": [
    ],
  • "route": {
    },
  • "plannedDeparture": "2024-12-24T12:00:00+01:00",
  • "actualDeparture": "2024-12-24T12:00:00+01:00",
  • "arrival": "2024-12-24T12:00:00+01:00"
}

updateDrive

Update the actual departure or the arrival of a specific drive. If the actual departure was updated once, it must not be updated again. The same applies to the arrival.

Authorizations:
Token Authentication
path Parameters
id
required
string <uuid>
Request Body schema: application/json
required
actualDeparture
string^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)...
arrival
string^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)...

Responses

Request samples

Content type
application/json
{
  • "actualDeparture": "2024-12-24T12:00:00+01:00",
  • "arrival": "2024-12-24T12:00:00+01:00"
}

Response samples

Content type
application/json
{
  • "messages": [
    ]
}

getImageOfCar

Get the image of the car of a specific drive.

Authorizations:
Token Authentication
path Parameters
id
required
string <uuid>
query Parameters
quality
required
string
Enum: "Full" "Preview"

Responses

Response samples

Content type
application/json
{
  • "messages": [
    ]
}

Drive Requests

getDriveRequests

Get all drive requests.

Authorizations:
Token Authentication
query Parameters
pageNumber
required
integer <int32> >= 1
perPage
required
integer <int32> [ 1 .. 50 ]
sortingDirection
string
Enum: "Ascending" "Descending"

Responses

Response samples

Content type
application/json
{
  • "maximumPage": 0,
  • "content": [
    ]
}

createDriveRequest

Create a new drive request.

Authorizations:
Token Authentication
Request Body schema: application/json
required
One of
required
object (RouteCreationDP)
plannedDeparture
string^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)...
type
required
string
carpoolId
required
string <uuid>

Responses

Request samples

Content type
application/json
Example
{
  • "route": {
    },
  • "plannedDeparture": "2024-12-24T12:00:00+01:00",
  • "type": "string",
  • "carpoolId": "58a056fa-a4cc-42a9-8d83-c036f04fa180"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}

createDriveOfferForDriveRequest

Create a new drive offer for a specific drive request. The drive request is either deleted if it's a CarpoolDriveRequest or its drive offers list is updated if it's a PublicDriveRequest.

Authorizations:
Token Authentication
path Parameters
id
required
string <uuid>
Request Body schema: application/json
required
One of
carIndex
required
integer <int32> >= 0
freeSeats
required
integer <int32> [ 1 .. 8 ]
required
object (RouteCreationDP)
plannedDepartureTime
string^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)...
type
required
string
carpoolId
required
string <uuid>

Responses

Request samples

Content type
application/json
Example
{
  • "carIndex": 0,
  • "freeSeats": 1,
  • "route": {
    },
  • "plannedDepartureTime": "2024-12-24T12:00:00+01:00",
  • "type": "string",
  • "carpoolId": "58a056fa-a4cc-42a9-8d83-c036f04fa180"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}

rejectDriveOffer

This endpoint is only allowed to use on a PublicRequestRequest. Reject a specific drive offer for a specific drive request. Neither the drive request nor the drive offer is deleted so other users can still see them.

Authorizations:
Token Authentication
path Parameters
driveRequestId
required
string <uuid>
driveOfferId
required
string <uuid>

Responses

Response samples

Content type
application/json
{
  • "messages": [
    ]
}

acceptDriveOffer

This endpoint is only allowed to use on a PublicRequestRequest. Accept a specific drive offer for a specific drive request. The requesting user of the drive request is automatically accepted as a passenger and the drive request is deleted.

Authorizations:
Token Authentication
path Parameters
driveRequestId
required
string <uuid>
driveOfferId
required
string <uuid>

Responses

Response samples

Content type
application/json
{
  • "messages": [
    ]
}

getDriveRequest

Get details of a specific drive request.

Authorizations:
Token Authentication
path Parameters
id
required
string <uuid>

Responses

Response samples

Content type
application/json
Example
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "requestingUser": {
    },
  • "route": {
    },
  • "plannedDeparture": "2024-12-24T12:00:00+01:00",
  • "type": "string",
  • "carpool": {
    }
}

Drive Offers

getDriveOffers

Get all drive offers.

Authorizations:
Token Authentication
query Parameters
pageNumber
required
integer <int32> >= 1
perPage
required
integer <int32> [ 1 .. 50 ]
latitude
required
number <double>
longitude
required
number <double>
sortingDirection
string
Enum: "Ascending" "Descending"

Responses

Response samples

Content type
application/json
{
  • "maximumPage": 0,
  • "content": [
    ]
}

createDriveOffer

Create a new drive offer.

Authorizations:
Token Authentication
Request Body schema: application/json
required
One of
carIndex
required
integer <int32> >= 0
freeSeats
required
integer <int32> [ 1 .. 8 ]
required
object (RouteCreationDP)
plannedDepartureTime
string^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)...
type
required
string
carpoolId
required
string <uuid>

Responses

Request samples

Content type
application/json
Example
{
  • "carIndex": 0,
  • "freeSeats": 1,
  • "route": {
    },
  • "plannedDepartureTime": "2024-12-24T12:00:00+01:00",
  • "type": "string",
  • "carpoolId": "58a056fa-a4cc-42a9-8d83-c036f04fa180"
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}

requestSeat

Request the ride for a specific drive offer.

Authorizations:
Token Authentication
path Parameters
id
required
string <uuid>
Request Body schema: application/json
required
latitude
required
number <double> [ -90 .. 90 ]
longitude
required
number <double> [ -180 .. 180 ]

Responses

Request samples

Content type
application/json
{
  • "latitude": -90,
  • "longitude": -180
}

Response samples

Content type
application/json
{
  • "messages": [
    ]
}

rejectRequestingUser

Reject a requesting user for a specific drive offer

Authorizations:
Token Authentication
path Parameters
driveOfferId
required
string <uuid>
requestingUserId
required
string <uuid>

Responses

Response samples

Content type
application/json
{
  • "messages": [
    ]
}

acceptRequestingUser

Accept a requesting user for a specific drive offer.

Authorizations:
Token Authentication
path Parameters
driveOfferId
required
string <uuid>
requestingUserId
required
string <uuid>

Responses

Response samples

Content type
application/json
{
  • "messages": [
    ]
}

getDriveOffer

Get details of a specific drive offer.

Authorizations:
Token Authentication
path Parameters
id
required
string <uuid>

Responses

Response samples

Content type
application/json
Example
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "driver": {
    },
  • "car": {
    },
  • "freeSeats": 1,
  • "route": {
    },
  • "passengers": [
    ],
  • "plannedDepartureTime": "2024-12-24T12:00:00+01:00",
  • "type": "string",
  • "carpool": {
    }
}

updateDriveOffer

Update a specific drive offer. Only the planned departure time can be updated.

Authorizations:
Token Authentication
path Parameters
id
required
string <uuid>
Request Body schema: application/json
required
plannedDepartureTime
required
string^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)...

Responses

Request samples

Content type
application/json
{
  • "plannedDepartureTime": "2024-12-24T12:00:00+01:00"
}

Response samples

Content type
application/json
{
  • "messages": [
    ]
}

getImageOfCar_1

Get the image of the car of a specific drive offer.

Authorizations:
Token Authentication
path Parameters
id
required
string <uuid>
query Parameters
quality
required
string
Enum: "Full" "Preview"

Responses

Response samples

Content type
application/json
{
  • "messages": [
    ]
}