Brew sessions
Update a brew session
Partial update. This is where you record measured OG and FG and move the session through its statuses.
PATCH
/
v1
/
sessions
/
{id}
Update a brew session
curl --request PATCH \
--url https://brewgravity.com/v1/sessions/{id} \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"recipe_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"status": "planning",
"brew_date": "<string>",
"notes": "<string>",
"actual_og": 123,
"actual_fg": 123,
"fermenting_since": "<string>",
"completed_at": "<string>"
}
'import requests
url = "https://brewgravity.com/v1/sessions/{id}"
payload = {
"recipe_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"status": "planning",
"brew_date": "<string>",
"notes": "<string>",
"actual_og": 123,
"actual_fg": 123,
"fermenting_since": "<string>",
"completed_at": "<string>"
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
recipe_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
name: '<string>',
status: 'planning',
brew_date: '<string>',
notes: '<string>',
actual_og: 123,
actual_fg: 123,
fermenting_since: '<string>',
completed_at: '<string>'
})
};
fetch('https://brewgravity.com/v1/sessions/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://brewgravity.com/v1/sessions/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'recipe_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'name' => '<string>',
'status' => 'planning',
'brew_date' => '<string>',
'notes' => '<string>',
'actual_og' => 123,
'actual_fg' => 123,
'fermenting_since' => '<string>',
'completed_at' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://brewgravity.com/v1/sessions/{id}"
payload := strings.NewReader("{\n \"recipe_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"name\": \"<string>\",\n \"status\": \"planning\",\n \"brew_date\": \"<string>\",\n \"notes\": \"<string>\",\n \"actual_og\": 123,\n \"actual_fg\": 123,\n \"fermenting_since\": \"<string>\",\n \"completed_at\": \"<string>\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://brewgravity.com/v1/sessions/{id}")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"recipe_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"name\": \"<string>\",\n \"status\": \"planning\",\n \"brew_date\": \"<string>\",\n \"notes\": \"<string>\",\n \"actual_og\": 123,\n \"actual_fg\": 123,\n \"fermenting_since\": \"<string>\",\n \"completed_at\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://brewgravity.com/v1/sessions/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"recipe_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"name\": \"<string>\",\n \"status\": \"planning\",\n \"brew_date\": \"<string>\",\n \"notes\": \"<string>\",\n \"actual_og\": 123,\n \"actual_fg\": 123,\n \"fermenting_since\": \"<string>\",\n \"completed_at\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"user_id": "<string>",
"recipe_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"status": "planning",
"brew_date": "<string>",
"notes": "<string>",
"actual_og": 123,
"actual_fg": 123,
"fermenting_since": "<string>",
"completed_at": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>",
"details": [
{
"code": "<string>",
"path": [
"<string>"
],
"message": "<string>"
}
]
}Authorizations
An API key created from a signed-in session. See Authentication.
Path Parameters
Session id
Body
application/json
Recipe this session is brewing
Session name, e.g. "Brew: House IPA"
Current status
Available options:
planning, brewing, fermenting, complete Brew date (YYYY-MM-DD)
Session notes
Measured original gravity
Measured final gravity
ISO timestamp when fermentation started
ISO timestamp when the session completed
Response
The updated session
Unique identifier
Owning account
Recipe being brewed
Session name
Current status
Available options:
planning, brewing, fermenting, complete Brew date (YYYY-MM-DD)
Session notes
Measured original gravity
Measured final gravity
When fermentation started
When the session completed
ISO 8601 timestamp
ISO 8601 timestamp
⌘I
Update a brew session
curl --request PATCH \
--url https://brewgravity.com/v1/sessions/{id} \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"recipe_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"status": "planning",
"brew_date": "<string>",
"notes": "<string>",
"actual_og": 123,
"actual_fg": 123,
"fermenting_since": "<string>",
"completed_at": "<string>"
}
'import requests
url = "https://brewgravity.com/v1/sessions/{id}"
payload = {
"recipe_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"status": "planning",
"brew_date": "<string>",
"notes": "<string>",
"actual_og": 123,
"actual_fg": 123,
"fermenting_since": "<string>",
"completed_at": "<string>"
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
recipe_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
name: '<string>',
status: 'planning',
brew_date: '<string>',
notes: '<string>',
actual_og: 123,
actual_fg: 123,
fermenting_since: '<string>',
completed_at: '<string>'
})
};
fetch('https://brewgravity.com/v1/sessions/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://brewgravity.com/v1/sessions/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'recipe_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'name' => '<string>',
'status' => 'planning',
'brew_date' => '<string>',
'notes' => '<string>',
'actual_og' => 123,
'actual_fg' => 123,
'fermenting_since' => '<string>',
'completed_at' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://brewgravity.com/v1/sessions/{id}"
payload := strings.NewReader("{\n \"recipe_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"name\": \"<string>\",\n \"status\": \"planning\",\n \"brew_date\": \"<string>\",\n \"notes\": \"<string>\",\n \"actual_og\": 123,\n \"actual_fg\": 123,\n \"fermenting_since\": \"<string>\",\n \"completed_at\": \"<string>\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://brewgravity.com/v1/sessions/{id}")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"recipe_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"name\": \"<string>\",\n \"status\": \"planning\",\n \"brew_date\": \"<string>\",\n \"notes\": \"<string>\",\n \"actual_og\": 123,\n \"actual_fg\": 123,\n \"fermenting_since\": \"<string>\",\n \"completed_at\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://brewgravity.com/v1/sessions/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"recipe_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"name\": \"<string>\",\n \"status\": \"planning\",\n \"brew_date\": \"<string>\",\n \"notes\": \"<string>\",\n \"actual_og\": 123,\n \"actual_fg\": 123,\n \"fermenting_since\": \"<string>\",\n \"completed_at\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"user_id": "<string>",
"recipe_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"status": "planning",
"brew_date": "<string>",
"notes": "<string>",
"actual_og": 123,
"actual_fg": 123,
"fermenting_since": "<string>",
"completed_at": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>",
"details": [
{
"code": "<string>",
"path": [
"<string>"
],
"message": "<string>"
}
]
}