Skip to content

Correct or update a lease’s parking

PATCH
/api/lease-parking-rights/{id}
curl --request PATCH \
--url https://api.getvespy.com/api/lease-parking-rights/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0 \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "billingScheduleId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "effectiveEnd": "2026-04-15", "effectiveStart": "2026-04-15", "location": "example", "notes": "example", "parkingType": "unreserved", "rateBasis": "fixed", "rateFrequency": "monthly", "ratePerSpaceCents": 1, "ratioPer1000Sqft": 1, "recurringChargeRuleId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "spaceCount": 1, "stallLabels": "example", "stallUnitIds": [ "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" ] }'

Changes only the fields sent. The result must still hold together: a rate per space only with fixed pricing, and at most one linked charge. The linked charge itself is never changed.

id
required
string format: uuid
Media typeapplication/json
object
billingScheduleId
Any of:
string format: uuid
/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/
effectiveEnd
Any of:
string format: date
/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$/
effectiveStart
string format: date
/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$/
location
Any of:
string
>= 1 characters <= 200 characters
notes
Any of:
string
>= 1 characters <= 2000 characters
parkingType
string
Allowed values: unreserved reserved other
rateBasis
string
Allowed values: fixed market included unknown
rateFrequency
Any of:
string
Allowed values: monthly annual
ratePerSpaceCents
Any of:
integer
<= 9007199254740991
ratioPer1000Sqft
Any of:
number
> 0 <= 9999.99
recurringChargeRuleId
Any of:
string format: uuid
/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/
spaceCount
Any of:
integer
> 0 <= 100000
stallLabels
Any of:
string
>= 1 characters <= 500 characters
stallUnitIds
Array<string>
<= 200 items

Default Response

Media typeapplication/json
object
parkingRight
required
object
billingScheduleId
required
Any of:
string format: uuid
/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/
createdAt
required
string format: date-time
/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$/
effectiveEnd
required
Any of:
string format: date
/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$/
effectiveStart
required
string format: date
/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))$/
id
required
string format: uuid
/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/
leaseId
required
string format: uuid
/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/
linkedCharge
required
Any of:
object
currentAmountCents
required
Any of:
integer
>= -9007199254740991 <= 9007199254740991
id
required
string format: uuid
/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/
kind
required
string
Allowed values: billing_schedule recurring_charge_rule
label
required
string
location
required
Any of:
string
notes
required
Any of:
string
organizationId
required
string format: uuid
/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/
parkingType
required
string
Allowed values: unreserved reserved other
rateBasis
required
string
Allowed values: fixed market included unknown
rateFrequency
required
Any of:
string
Allowed values: monthly annual
ratePerSpaceCents
required
Any of:
integer
<= 9007199254740991
ratioPer1000Sqft
required
Any of:
number
> 0
recurringChargeRuleId
required
Any of:
string format: uuid
/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/
spaceCount
required
Any of:
integer
> 0 <= 9007199254740991
stallLabels
required
Any of:
string
stallUnitIds
required
Array<string>
stallUnitNumbers
required
Array<string>
updatedAt
required
string format: date-time
/^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$/
Example
{
"parkingRight": {
"linkedCharge": {
"kind": "billing_schedule"
},
"parkingType": "unreserved",
"rateBasis": "fixed",
"rateFrequency": "monthly"
}
}

Default Response

Media typeapplication/json
object
code
string
errors
Array<object>
object
code
required
string
message
required
string
path
required
string
message
required
string
Examplegenerated
{
"code": "example",
"errors": [
{
"code": "example",
"message": "example",
"path": "example"
}
],
"message": "example"
}

Default Response

Media typeapplication/json
object
code
string
errors
Array<object>
object
code
required
string
message
required
string
path
required
string
message
required
string
Examplegenerated
{
"code": "example",
"errors": [
{
"code": "example",
"message": "example",
"path": "example"
}
],
"message": "example"
}

Default Response

Media typeapplication/json
object
code
string
errors
Array<object>
object
code
required
string
message
required
string
path
required
string
message
required
string
Examplegenerated
{
"code": "example",
"errors": [
{
"code": "example",
"message": "example",
"path": "example"
}
],
"message": "example"
}

Default Response

Media typeapplication/json
object
code
string
errors
Array<object>
object
code
required
string
message
required
string
path
required
string
message
required
string
Examplegenerated
{
"code": "example",
"errors": [
{
"code": "example",
"message": "example",
"path": "example"
}
],
"message": "example"
}