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
Create a new user.
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 |
{- "firstName": "string",
- "lastName": "string",
- "birthday": "2024-12-24T12:00:00+01:00",
- "gender": "Male",
- "address": {
- "street": "string",
- "houseNumber": "string",
- "postalCode": "strin",
- "city": "string"
}, - "studyProgramme": "string"
}
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}
Get the image of a specific car of a specific user.
userId required | string <uuid> |
carIndex required | integer <int32> >= 0 |
quality required | string Enum: "Full" "Preview" |
{- "messages": [
- "string"
]
}
Create an image for a specific car of a specific user.
userId required | string <uuid> |
carIndex required | integer <int32> >= 0 |
image required | string <binary> |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}
Create an image for a specific user.
id required | string <uuid> |
image required | string <binary> |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}
Create a car for a specific user.
id required | string <uuid> |
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,... |
{- "brand": "string",
- "model": "string",
- "color": "string",
- "licencePlate": "string"
}
{- "messages": [
- "string"
]
}
Get details of a specific user.
id required | string <uuid> |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "firstName": "string",
- "lastName": "string",
- "birthday": "2024-12-24T12:00:00+01:00",
- "gender": "Male",
- "address": {
- "street": "string",
- "houseNumber": "string",
- "postalCode": "strin",
- "city": "string"
}, - "description": "string",
- "studyProgramme": "string",
- "isSmoking": true,
- "animals": [
- "Dog"
], - "drivingStyle": "Defensive",
- "cars": [
- {
- "brand": "string",
- "model": "string",
- "color": "string",
- "licencePlate": "string"
}
]
}
Update a specific user.
id required | string <uuid> |
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" |
{- "firstName": "string",
- "lastName": "string",
- "birthday": "2024-12-24T12:00:00+01:00",
- "gender": "Male",
- "address": {
- "street": "string",
- "houseNumber": "string",
- "postalCode": "strin",
- "city": "string"
}, - "studyProgramme": "string",
- "description": "string",
- "isSmoking": true,
- "animals": [
- "Dog"
], - "drivingStyle": "Defensive"
}
{- "messages": [
- "string"
]
}
Get all drives of a specific user.
id required | string <uuid> |
pageNumber required | integer <int32> >= 1 |
perPage required | integer <int32> [ 1 .. 50 ] |
sortingDirection | string Enum: "Ascending" "Descending" |
{- "maximumPage": 0,
- "content": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "driver": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "firstName": "string",
- "lastName": "string",
- "isFavorite": true,
- "averageStars": 5,
- "numberOfRatings": 0
}, - "car": {
- "brand": "string",
- "model": "string",
- "color": "string",
- "licencePlate": "string"
}, - "passengers": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "firstName": "string",
- "lastName": "string",
- "isFavorite": true,
- "averageStars": 5,
- "numberOfRatings": 0
}
], - "route": {
- "start": {
- "coordinate": {
- "latitude": -90,
- "longitude": -180
}, - "nearestAddress": {
- "street": "string",
- "houseNumber": "string",
- "postalCode": "strin",
- "city": "string"
}
}, - "destination": {
- "coordinate": {
- "latitude": -90,
- "longitude": -180
}, - "nearestAddress": {
- "street": "string",
- "houseNumber": "string",
- "postalCode": "strin",
- "city": "string"
}
}, - "userStops": [
- {
- "userId": "2c4a230c-5085-4924-a3e1-25fb4fc5965b",
- "position": {
- "coordinate": {
- "latitude": -90,
- "longitude": -180
}, - "nearestAddress": {
- "street": "string",
- "houseNumber": "string",
- "postalCode": "strin",
- "city": "string"
}
}, - "waitingConfirmed": true
}
], - "polyline": {
- "type": "string",
- "coordinates": [
- {
- "latitude": -90,
- "longitude": -180
}
]
}
}, - "plannedDeparture": "2024-12-24T12:00:00+01:00",
- "actualDeparture": "2024-12-24T12:00:00+01:00",
- "arrival": "2024-12-24T12:00:00+01:00"
}
]
}
Get all drive requests of a specific user.
id required | string <uuid> |
pageNumber required | integer <int32> >= 1 |
perPage required | integer <int32> [ 1 .. 50 ] |
sortingDirection | string Enum: "Ascending" "Descending" |
{- "maximumPage": 0,
- "content": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "requestingUser": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "firstName": "string",
- "lastName": "string",
- "isFavorite": true,
- "averageStars": 5,
- "numberOfRatings": 0
}, - "route": {
- "start": {
- "coordinate": {
- "latitude": -90,
- "longitude": -180
}, - "nearestAddress": {
- "street": "string",
- "houseNumber": "string",
- "postalCode": "strin",
- "city": "string"
}
}, - "destination": {
- "coordinate": {
- "latitude": -90,
- "longitude": -180
}, - "nearestAddress": {
- "street": "string",
- "houseNumber": "string",
- "postalCode": "strin",
- "city": "string"
}
}
}, - "plannedDeparture": "2024-12-24T12:00:00+01:00",
- "type": "string",
- "carpoolId": "58a056fa-a4cc-42a9-8d83-c036f04fa180"
}
]
}
Get all drive offers of a specific user.
id required | string <uuid> |
pageNumber required | integer <int32> >= 1 |
perPage required | integer <int32> [ 1 .. 50 ] |
sortingDirection | string Enum: "Ascending" "Descending" |
{- "maximumPage": 0,
- "content": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "driver": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "firstName": "string",
- "lastName": "string",
- "isFavorite": true,
- "averageStars": 5,
- "numberOfRatings": 0
}, - "freeSeats": 1,
- "route": {
- "start": {
- "coordinate": {
- "latitude": -90,
- "longitude": -180
}, - "nearestAddress": {
- "street": "string",
- "houseNumber": "string",
- "postalCode": "strin",
- "city": "string"
}
}, - "destination": {
- "coordinate": {
- "latitude": -90,
- "longitude": -180
}, - "nearestAddress": {
- "street": "string",
- "houseNumber": "string",
- "postalCode": "strin",
- "city": "string"
}
}
}, - "passengersCount": 1,
- "plannedDepartureTime": "2024-12-24T12:00:00+01:00",
- "type": "string",
- "carpoolId": "58a056fa-a4cc-42a9-8d83-c036f04fa180"
}
]
}
Get details of a specific drive.
id required | string <uuid> |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "driver": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "firstName": "string",
- "lastName": "string",
- "isFavorite": true,
- "averageStars": 5,
- "numberOfRatings": 0
}, - "car": {
- "brand": "string",
- "model": "string",
- "color": "string",
- "licencePlate": "string"
}, - "passengers": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "firstName": "string",
- "lastName": "string",
- "isFavorite": true,
- "averageStars": 5,
- "numberOfRatings": 0
}
], - "route": {
- "start": {
- "coordinate": {
- "latitude": -90,
- "longitude": -180
}, - "nearestAddress": {
- "street": "string",
- "houseNumber": "string",
- "postalCode": "strin",
- "city": "string"
}
}, - "destination": {
- "coordinate": {
- "latitude": -90,
- "longitude": -180
}, - "nearestAddress": {
- "street": "string",
- "houseNumber": "string",
- "postalCode": "strin",
- "city": "string"
}
}, - "userStops": [
- {
- "userId": "2c4a230c-5085-4924-a3e1-25fb4fc5965b",
- "position": {
- "coordinate": {
- "latitude": -90,
- "longitude": -180
}, - "nearestAddress": {
- "street": "string",
- "houseNumber": "string",
- "postalCode": "strin",
- "city": "string"
}
}, - "waitingConfirmed": true
}
], - "polyline": {
- "type": "string",
- "coordinates": [
- {
- "latitude": -90,
- "longitude": -180
}
]
}
}, - "plannedDeparture": "2024-12-24T12:00:00+01:00",
- "actualDeparture": "2024-12-24T12:00:00+01:00",
- "arrival": "2024-12-24T12:00:00+01:00"
}
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.
id required | string <uuid> |
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+)... |
{- "actualDeparture": "2024-12-24T12:00:00+01:00",
- "arrival": "2024-12-24T12:00:00+01:00"
}
{- "messages": [
- "string"
]
}
Get all drive requests.
pageNumber required | integer <int32> >= 1 |
perPage required | integer <int32> [ 1 .. 50 ] |
sortingDirection | string Enum: "Ascending" "Descending" |
{- "maximumPage": 0,
- "content": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "requestingUser": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "firstName": "string",
- "lastName": "string",
- "isFavorite": true,
- "averageStars": 5,
- "numberOfRatings": 0
}, - "route": {
- "start": {
- "coordinate": {
- "latitude": -90,
- "longitude": -180
}, - "nearestAddress": {
- "street": "string",
- "houseNumber": "string",
- "postalCode": "strin",
- "city": "string"
}
}, - "destination": {
- "coordinate": {
- "latitude": -90,
- "longitude": -180
}, - "nearestAddress": {
- "street": "string",
- "houseNumber": "string",
- "postalCode": "strin",
- "city": "string"
}
}
}, - "plannedDeparture": "2024-12-24T12:00:00+01:00",
- "type": "string",
- "carpoolId": "58a056fa-a4cc-42a9-8d83-c036f04fa180"
}
]
}
Create a new drive request.
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> |
{- "route": {
- "start": {
- "latitude": -90,
- "longitude": -180
}, - "destination": {
- "latitude": -90,
- "longitude": -180
}
}, - "plannedDeparture": "2024-12-24T12:00:00+01:00",
- "type": "string",
- "carpoolId": "58a056fa-a4cc-42a9-8d83-c036f04fa180"
}
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}
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.
id required | string <uuid> |
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> |
{- "carIndex": 0,
- "freeSeats": 1,
- "route": {
- "start": {
- "latitude": -90,
- "longitude": -180
}, - "destination": {
- "latitude": -90,
- "longitude": -180
}
}, - "plannedDepartureTime": "2024-12-24T12:00:00+01:00",
- "type": "string",
- "carpoolId": "58a056fa-a4cc-42a9-8d83-c036f04fa180"
}
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}
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.
driveRequestId required | string <uuid> |
driveOfferId required | string <uuid> |
{- "messages": [
- "string"
]
}
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.
driveRequestId required | string <uuid> |
driveOfferId required | string <uuid> |
{- "messages": [
- "string"
]
}
Get details of a specific drive request.
id required | string <uuid> |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "requestingUser": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "firstName": "string",
- "lastName": "string",
- "isFavorite": true,
- "averageStars": 5,
- "numberOfRatings": 0
}, - "route": {
- "start": {
- "coordinate": {
- "latitude": -90,
- "longitude": -180
}, - "nearestAddress": {
- "street": "string",
- "houseNumber": "string",
- "postalCode": "strin",
- "city": "string"
}
}, - "destination": {
- "coordinate": {
- "latitude": -90,
- "longitude": -180
}, - "nearestAddress": {
- "street": "string",
- "houseNumber": "string",
- "postalCode": "strin",
- "city": "string"
}
}
}, - "plannedDeparture": "2024-12-24T12:00:00+01:00",
- "type": "string",
- "carpool": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string"
}
}
Get all drive offers.
pageNumber required | integer <int32> >= 1 |
perPage required | integer <int32> [ 1 .. 50 ] |
latitude required | number <double> |
longitude required | number <double> |
sortingDirection | string Enum: "Ascending" "Descending" |
{- "maximumPage": 0,
- "content": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "driver": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "firstName": "string",
- "lastName": "string",
- "isFavorite": true,
- "averageStars": 5,
- "numberOfRatings": 0
}, - "freeSeats": 1,
- "route": {
- "start": {
- "coordinate": {
- "latitude": -90,
- "longitude": -180
}, - "nearestAddress": {
- "street": "string",
- "houseNumber": "string",
- "postalCode": "strin",
- "city": "string"
}
}, - "destination": {
- "coordinate": {
- "latitude": -90,
- "longitude": -180
}, - "nearestAddress": {
- "street": "string",
- "houseNumber": "string",
- "postalCode": "strin",
- "city": "string"
}
}
}, - "passengersCount": 1,
- "plannedDepartureTime": "2024-12-24T12:00:00+01:00",
- "type": "string",
- "carpoolId": "58a056fa-a4cc-42a9-8d83-c036f04fa180"
}
]
}
Create a new drive offer.
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> |
{- "carIndex": 0,
- "freeSeats": 1,
- "route": {
- "start": {
- "latitude": -90,
- "longitude": -180
}, - "destination": {
- "latitude": -90,
- "longitude": -180
}
}, - "plannedDepartureTime": "2024-12-24T12:00:00+01:00",
- "type": "string",
- "carpoolId": "58a056fa-a4cc-42a9-8d83-c036f04fa180"
}
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}
Request the ride for a specific drive offer.
id required | string <uuid> |
latitude required | number <double> [ -90 .. 90 ] |
longitude required | number <double> [ -180 .. 180 ] |
{- "latitude": -90,
- "longitude": -180
}
{- "messages": [
- "string"
]
}
Get details of a specific drive offer.
id required | string <uuid> |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "driver": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "firstName": "string",
- "lastName": "string",
- "isFavorite": true,
- "averageStars": 5,
- "numberOfRatings": 0
}, - "car": {
- "brand": "string",
- "model": "string",
- "color": "string",
- "licencePlate": "string"
}, - "freeSeats": 1,
- "route": {
- "start": {
- "coordinate": {
- "latitude": -90,
- "longitude": -180
}, - "nearestAddress": {
- "street": "string",
- "houseNumber": "string",
- "postalCode": "strin",
- "city": "string"
}
}, - "destination": {
- "coordinate": {
- "latitude": -90,
- "longitude": -180
}, - "nearestAddress": {
- "street": "string",
- "houseNumber": "string",
- "postalCode": "strin",
- "city": "string"
}
}
}, - "passengers": [
- {
- "user": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "firstName": "string",
- "lastName": "string",
- "isFavorite": true,
- "averageStars": 5,
- "numberOfRatings": 0
}, - "stop": {
- "coordinate": {
- "latitude": -90,
- "longitude": -180
}, - "nearestAddress": {
- "street": "string",
- "houseNumber": "string",
- "postalCode": "strin",
- "city": "string"
}
}
}
], - "plannedDepartureTime": "2024-12-24T12:00:00+01:00",
- "type": "string",
- "carpool": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string"
}
}
Update a specific drive offer. Only the planned departure time can be updated.
id required | string <uuid> |
plannedDepartureTime required | string^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d+)... |
{- "plannedDepartureTime": "2024-12-24T12:00:00+01:00"
}
{- "messages": [
- "string"
]
}