Update Availability
curl --request PUT \
--url https://harbor-parking.vercel.app/api/availabilities/{id} \
--header 'Content-Type: application/json' \
--data '
{
"start_time": "<string>",
"end_time": "<string>"
}
'import requests
url = "https://harbor-parking.vercel.app/api/availabilities/{id}"
payload = {
"start_time": "<string>",
"end_time": "<string>"
}
headers = {"Content-Type": "application/json"}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({start_time: '<string>', end_time: '<string>'})
};
fetch('https://harbor-parking.vercel.app/api/availabilities/{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://harbor-parking.vercel.app/api/availabilities/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'start_time' => '<string>',
'end_time' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$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://harbor-parking.vercel.app/api/availabilities/{id}"
payload := strings.NewReader("{\n \"start_time\": \"<string>\",\n \"end_time\": \"<string>\"\n}")
req, _ := http.NewRequest("PUT", url, payload)
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.put("https://harbor-parking.vercel.app/api/availabilities/{id}")
.header("Content-Type", "application/json")
.body("{\n \"start_time\": \"<string>\",\n \"end_time\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://harbor-parking.vercel.app/api/availabilities/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"start_time\": \"<string>\",\n \"end_time\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"availability": {
"id": "789e0123-e89b-12d3-a456-426614174002",
"spot_id": "123e4567-e89b-12d3-a456-426614174000",
"start_time": "2024-01-16T08:00:00Z",
"end_time": "2024-01-16T18:00:00Z",
"is_claimed": false,
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-16T11:45:00Z"
}
}
Availabilities
Update Availability
Modify availability window details
PUT
/
api
/
availabilities
/
{id}
Update Availability
curl --request PUT \
--url https://harbor-parking.vercel.app/api/availabilities/{id} \
--header 'Content-Type: application/json' \
--data '
{
"start_time": "<string>",
"end_time": "<string>"
}
'import requests
url = "https://harbor-parking.vercel.app/api/availabilities/{id}"
payload = {
"start_time": "<string>",
"end_time": "<string>"
}
headers = {"Content-Type": "application/json"}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({start_time: '<string>', end_time: '<string>'})
};
fetch('https://harbor-parking.vercel.app/api/availabilities/{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://harbor-parking.vercel.app/api/availabilities/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'start_time' => '<string>',
'end_time' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$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://harbor-parking.vercel.app/api/availabilities/{id}"
payload := strings.NewReader("{\n \"start_time\": \"<string>\",\n \"end_time\": \"<string>\"\n}")
req, _ := http.NewRequest("PUT", url, payload)
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.put("https://harbor-parking.vercel.app/api/availabilities/{id}")
.header("Content-Type", "application/json")
.body("{\n \"start_time\": \"<string>\",\n \"end_time\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://harbor-parking.vercel.app/api/availabilities/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"start_time\": \"<string>\",\n \"end_time\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"availability": {
"id": "789e0123-e89b-12d3-a456-426614174002",
"spot_id": "123e4567-e89b-12d3-a456-426614174000",
"start_time": "2024-01-16T08:00:00Z",
"end_time": "2024-01-16T18:00:00Z",
"is_claimed": false,
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-16T11:45:00Z"
}
}
Overview
This endpoint allows parking spot owners to update their availability windows.You cannot update an availability that has already been claimed.
Authentication
Path Parameters
string
required
Unique identifier of the availability to update
Request Body
string
Updated availability start time (ISO 8601 format)
string
Updated availability end time (ISO 8601 format)
Response
object
required
Updated availability object
Show Availability Object
Show Availability Object
string
required
Unique availability identifier (UUID)
string
required
ID of the associated parking spot
string
required
Availability start time (ISO 8601)
string
required
Availability end time (ISO 8601)
boolean
required
Whether this availability has been claimed
string
required
Availability creation timestamp (ISO 8601)
string
required
Availability last update timestamp (ISO 8601)
Example Request
curl -X PUT "https://harbor-parking.vercel.app/api/availabilities/789e0123-e89b-12d3-a456-426614174002" \
-H "Authorization: Bearer YOUR_JWT_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"start_time": "2024-01-16T08:00:00Z",
"end_time": "2024-01-16T18:00:00Z"
}'
const availabilityId = "789e0123-e89b-12d3-a456-426614174002";
const response = await fetch(`https://harbor-parking.vercel.app/api/availabilities/${availabilityId}`, {
method: 'PUT',
headers: {
'Authorization': `Bearer ${yourJwtToken}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({
start_time: "2024-01-16T08:00:00Z",
end_time: "2024-01-16T18:00:00Z"
})
});
const result = await response.json();
Example Response
{
"availability": {
"id": "789e0123-e89b-12d3-a456-426614174002",
"spot_id": "123e4567-e89b-12d3-a456-426614174000",
"start_time": "2024-01-16T08:00:00Z",
"end_time": "2024-01-16T18:00:00Z",
"is_claimed": false,
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-16T11:45:00Z"
}
}
Error Responses
{
"error": "Cannot update a claimed availability"
}
{
"error": "You can only update availabilities for your own spots"
}