Skip to main content

Documentation Index

Fetch the complete documentation index at: https://api.docs.onlydrams.app/llms.txt

Use this file to discover all available pages before exploring further.

Updates an existing pour for the authenticated user. Can optionally include a review and tasting notes in the same request.

Endpoints

Basic Pour Update

PATCH /api/v1/pours/:id

Pour Update with Review

PATCH /api/v1/pours/:id/with_review

Parameters

id
string
required
The ID of the pour to update.

Request Body

pour.pour_size
string
The size of the pour in ounces (e.g., “1.0”, “2.5”).
pour.serve_style
string
How the spirit was served (one of “neat”, “rocks”).
pour.price
string
The cost of the pour in dollars (e.g., “15.00”, “10.5”).
pour.location
string
Where the pour was consumed.
pour.private
boolean
Whether the pour should be private.
review.rating
decimal
Rating from 0-5 (only for update_with_review endpoint).
review.comment
string
Review comment (only for update_with_review endpoint).
review.private
boolean
Whether the review should be private (only for update_with_review endpoint).
review.would_purchase_again
boolean
Whether the user would purchase this spirit again (only for update_with_review endpoint).
tasting.tasting_note_ids
array
Array of tasting note IDs to associate with the pour (only for update_with_review endpoint).
curl -X PATCH https://api.onlydrams.app/api/v1/pours/456e7890-e89b-12d3-a456-426614174001 \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -d '{
    "pour": {
      "pour_size": "1.5",
      "serve_style": "rocks",
      "price": "12.00",
      "location": "Updated Location"
    }
  }'
curl -X PATCH https://api.onlydrams.app/api/v1/pours/456e7890-e89b-12d3-a456-426614174001/with_review \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -d '{
    "pour": {
      "pour_size": "1.5",
      "serve_style": "rocks",
      "price": "12.00"
    },
    "review": {
      "rating": 4.5,
      "comment": "Updated review - even better than I remembered!",
      "would_purchase_again": true
    },
    "tasting": {
      "tasting_note_ids": ["note1", "note4", "note5"]
    }
  }'
{
  "id": "456e7890-e89b-12d3-a456-426614174001",
  "pour_size": "1.5",
  "serve_style": "rocks",
  "price": "12.00",
  "location": "Updated Location",
  "private": false,
  "created_at": "2024-01-15T10:30:00Z",
  "updated_at": "2024-01-15T11:45:00Z",
  "user": {
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "username": "user123"
  },
  "pourable": {
    "id": "789e0123-e89b-12d3-a456-426614174003",
    "name": "Buffalo Trace Bourbon",
    "image_url": "https://example.com/bottle.jpg"
  },
  "batch": null,
  "vintage": null,
  "tasting_notes": []
}
{
  "pour": {
    "id": "456e7890-e89b-12d3-a456-426614174001",
    "pour_size": "1.5",
    "serve_style": "rocks",
    "price": "12.00",
    "location": "The Scotsman",
    "private": false,
    "created_at": "2024-01-15T10:30:00Z",
    "updated_at": "2024-01-15T11:45:00Z",
    "user": {
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "username": "user123"
    },
    "pourable": {
      "id": "789e0123-e89b-12d3-a456-426614174003",
      "name": "Buffalo Trace Bourbon",
      "image_url": "https://example.com/bottle.jpg"
    },
    "batch": null,
    "vintage": null,
    "tasting_notes": []
  },
  "review": {
    "id": "789e0123-e89b-12d3-a456-426614174002",
    "comment": "Updated review - even better than I remembered!",
    "rating": 3.5,
    "bottle_id": "789e0123-e89b-12d3-a456-426614174003",
    "juice": {
      "id": "abc12345-e89b-12d3-a456-426614174004",
      "name": "Buffalo Trace Bourbon",
      "image_url": "https://example.com/juice.jpg"
    },
    "private": false,
    "would_purchase_again": true,
    "batch": null,
    "vintage": null
  }
}

Error Responses

{
  "error": "Pour not found"
}
{
  "errors": {
    "pour_size": ["must be a valid size"],
    "price": ["must be greater than 0"]
  }
}