Welcome to the TAPPr API documentation. This API allows you to interact with beer data for your homebrewing needs.
The TAPPr API uses two UUID fields for brews (beers):
When creating a new brew, you can provide a brewUuid from the companion app. The API will generate a new api_brew_uuid for the brew and return both UUIDs in the response. Reviews reference brews using the api_brew_uuid field.
GET /api/beersReturns a list of all brews (beers).
[
{
"id": 1,
"name": "Hoppy IPA",
"style": "India Pale Ale",
"abv": 6.5
}
]GET /api/beers/{id}Returns a specific brew (beer) by ID.
{
"id": 1,
"name": "Hoppy IPA",
"style": "India Pale Ale",
"abv": 6.5,
"ibu": 65.5,
"description": "A hoppy IPA with citrus and pine notes",
"brewDate": "2023-10-15",
"kegLevel": 85,
"brewUuid": "550e8400-e29b-41d4-a716-446655440000",
"api_brew_uuid": "7dfb14c4-d288-4b1e-ae69-ec2d733aa434"
}GET /api/beers/api/{apiBrewUuid}Returns a specific brew (beer) by its API-generated UUID.
{
"id": 1,
"name": "Hoppy IPA",
"style": "India Pale Ale",
"abv": 6.5,
"ibu": 65.5,
"description": "A hoppy IPA with citrus and pine notes",
"brewDate": "2023-10-15",
"kegLevel": 85,
"brewUuid": "550e8400-e29b-41d4-a716-446655440000",
"api_brew_uuid": "7dfb14c4-d288-4b1e-ae69-ec2d733aa434"
}POST /api/beers/addAdds a new brew (beer) to the system.
{
"name": "New Brew",
"style": "IPA",
"abv": 5.5,
"ibu": 40.5,
"description": "Description of the brew",
"brewDate": "2024-04-01",
"kegLevel": 100,
"brewUuid": "550e8400-e29b-41d4-a716-446655440001"
}{
"message": "Brew added successfully",
"brew": {
"id": 4,
"name": "New Brew",
"style": "IPA",
"abv": 5.5,
"ibu": 40.5,
"description": "Description of the brew",
"brewDate": "2024-04-01",
"kegLevel": 100,
"brewUuid": "550e8400-e29b-41d4-a716-446655440001",
"api_brew_uuid": "7dfb14c4-d288-4b1e-ae69-ec2d733aa434",
"createdAt": "2024-04-15T14:30:00Z",
"updatedAt": "2024-04-15T14:30:00Z"
}
}PATCH /api/beers/{id}/updateUpdates an existing brew (beer).
{
"name": "Updated Beer Name",
"kegLevel": 75
}{
"message": "Brew updated successfully",
"brew": {
"id": 1,
"name": "Updated Brew Name",
"style": "India Pale Ale",
"abv": 6.5,
"ibu": 65.5,
"description": "A hoppy IPA with citrus and pine notes",
"brewDate": "2023-10-15",
"kegLevel": 75,
"brewUuid": "550e8400-e29b-41d4-a716-446655440000",
"api_brew_uuid": "7dfb14c4-d288-4b1e-ae69-ec2d733aa434",
"createdAt": "2023-11-15T14:30:00Z",
"updatedAt": "2024-04-15T14:30:00Z"
}
}DELETE /api/beers/{id}/deleteDeletes a brew (beer) from the system.
{
"message": "Brew deleted successfully"
}GET /api/reviewsReturns a list of all reviews.
GET /api/reviews/{id}Returns a specific review by ID.
GET /api/reviews/api-brew/{apiBrewUuid}Returns all reviews for a specific brew using the API-generated UUID (primary reference).
GET /api/reviews/brew/{brewUuid}Returns all reviews for a specific brew using the companion app UUID (for backward compatibility).
POST /api/reviews/addAdds a new quick review.
{
"api_brew_uuid": "7dfb14c4-d288-4b1e-ae69-ec2d733aa434",
"brewUuid": "550e8400-e29b-41d4-a716-446655440000",
"reviewerName": "John Doe",
"isAnonymous": false,
"reviewType": "quick",
"quickReview": {
"overallRating": 4,
"comments": "Great IPA, would drink again!"
}
}{
"message": "Review added successfully",
"review": {
"id": 1,
"reviewId": "550e8400-e29b-41d4-a716-446655440002",
"api_brew_uuid": "7dfb14c4-d288-4b1e-ae69-ec2d733aa434",
"brewUuid": "550e8400-e29b-41d4-a716-446655440000",
"reviewerName": "John Doe",
"isAnonymous": false,
"reviewDate": "2023-11-15T14:30:00Z",
"reviewType": "quick",
"quickReview": {
"overallRating": 4,
"comments": "Great IPA, would drink again!"
},
"createdAt": "2023-11-15T14:30:00Z",
"updatedAt": "2023-11-15T14:30:00Z"
}
}POST /api/reviews/addAdds a new standard review with more detailed ratings.
{
"api_brew_uuid": "7dfb14c4-d288-4b1e-ae69-ec2d733aa434",
"brewUuid": "550e8400-e29b-41d4-a716-446655440000",
"reviewerName": "Jane Smith",
"isAnonymous": false,
"reviewType": "standard",
"quickReview": {
"overallRating": 4,
"comments": "Great IPA, would drink again!"
},
"standardReview": {
"appearance": 4,
"aroma": 5,
"taste": 4,
"mouthfeel": 3,
"comments": "Nice golden color, strong hop aroma, good balance of flavors"
}
}POST /api/reviews/addAdds a new expert review with comprehensive ratings.
{
"api_brew_uuid": "7dfb14c4-d288-4b1e-ae69-ec2d733aa434",
"brewUuid": "550e8400-e29b-41d4-a716-446655440000",
"reviewerId": "123e4567-e89b-12d3-a456-426614174000",
"isAnonymous": false,
"reviewType": "expert",
"quickReview": {
"overallRating": 4,
"comments": "Great IPA, would drink again!"
},
"standardReview": {
"appearance": 4,
"aroma": 5,
"taste": 4,
"mouthfeel": 3,
"comments": "Nice golden color, strong hop aroma, good balance of flavors"
},
"expertReview": {
"appearance": {
"clarity": 4,
"color": 5,
"head": 4,
"notes": "Golden amber with excellent head retention"
},
"aroma": {
"intensity": 4,
"maltiness": 3,
"hoppiness": 5,
"fruitiness": 4,
"otherAromatics": 3,
"notes": "Strong citrus and pine hop aroma with supporting malt backbone"
},
"taste": {
"flavorIntensity": 4,
"maltCharacter": 3,
"hopCharacter": 5,
"bitterness": 4,
"sweetness": 2,
"balance": 4,
"notes": "Bold hop flavor with enough malt to support, clean bitterness"
},
"mouthfeel": {
"body": 3,
"carbonation": 4,
"warmth": 2,
"creaminess": 3,
"notes": "Medium body with lively carbonation"
},
"aftertaste": {
"duration": 4,
"pleasantness": 4,
"notes": "Pleasant lingering hop bitterness"
},
"styleAccuracy": 9
}
}PATCH /api/reviews/{id}/updateUpdates an existing review.
DELETE /api/reviews/{id}/deleteDeletes a review from the system.
{
"message": "Review deleted successfully"
}The API is protected with an API key. You must include the API key in the header of each request.
Include the API key in the X_API_Key header of your requests.Note: Use underscore (_) instead of dash (-) in the header name.
// Example using fetch
fetch('https://tappr.beer/api/beers', {
headers: {
'X_API_Key': 'your-api-key-here'
}
})// Example using axios
axios.get('https://tappr.beer/api/beers', {
headers: {
'X_API_Key': 'your-api-key-here'
}
})// Example using curl curl -X GET -H "X_API_Key: your-api-key-here" https://tappr.beer/api/beers