---
title: "Add a bottle to user's collection"
method: POST
path: "/api/v1/bottles"
tags: ["Bottles"]
---

# Add a bottle to user's collection

`POST /api/v1/bottles`

## Request

- Base URL: `https://api.instadram.me/v1`
- URL: `https://api.instadram.me/v1/api/v1/bottles`
- Auth: HTTP bearer

## Request body

- AddBottleRequest
  - `expression_id` string, required: Expression ID
  - `collection_ids` string[]: Collection IDs to add bottle to
  - `notes` string: User notes
  - `image_url` string: Bottle image URL
  - `rating` number: User rating (1-5)
  - `status` 'unopened' | 'opened' | 'consumed' | 'wishlist': Bottle status
  - `override_proof` number: User override for proof
  - `purchase_price` number: Purchase price. Owner-only: omitted when the caller is not the shelf owner
  - `purchased_from` string: Where the bottle was purchased. Owner-only: omitted when the caller is not the shelf owner
  - `override_batch_number` string: User override for batch number
  - `store_pick` boolean: Whether this is a store pick
  - `store_pick_name` string: Store pick name
  - `override_expression_name` string: User override for expression name

## Response `201`

Bottle added successfully

- object
  - `success` boolean
  - `data` Bottle
    - `id` string: Bottle ID
    - `name` string: Bottle name
    - `distillery` string: Distillery name
    - `proof` number: Bottle proof
    - `notes` string: User notes
    - `image_url` string: Bottle image URL
    - `msrp` number: Manufacturer suggested retail price
    - `msrp_source` string: Source of MSRP information
    - `collection_ids` string[]: Collection IDs this bottle belongs to
    - `status` 'unopened' | 'opened' | 'consumed' | 'wishlist': Bottle status
    - `is_favorite` boolean: Whether bottle is favorited
    - `rating` number: User rating (1-5)
    - `availability` string: Bottle availability
    - `override_proof` number: User override for proof
    - `purchase_price` number: Purchase price. Owner-only: omitted when the caller is not the shelf owner
    - `purchased_from` string: Where the bottle was purchased. Owner-only: omitted when the caller is not the shelf owner
    - `override_batch_number` string: User override for batch number
    - `store_pick` boolean: Whether this is a store pick
    - `store_pick_name` string: Store pick name
    - `override_expression_name` string: User override for expression name
    - `created_at` string, date-time: Creation timestamp
    - `updated_at` string, date-time: Last update timestamp

---

[API](https://skmtc.dev/instadram/apis/instadram-api.md) · [All operations](https://skmtc.dev/instadram/apis/instadram-api/llms.txt) · [OpenAPI document](https://skmtc.dev/instadram/apis/instadram-api/revisions/2971df0f7ef1?raw)
