Create recurring charge rule
POST
/api/recurring-charges
const url = 'https://api.getvespy.com/api/recurring-charges';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"amountCents":1,"categoryId":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","label":"example","leaseId":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","propertyId":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","recurrence":{"dayOfMonth":1,"endDate":"2026-04-15","frequency":"monthly","startDate":"2026-04-15"},"tenantId":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","unitId":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://api.getvespy.com/api/recurring-charges \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "amountCents": 1, "categoryId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "label": "example", "leaseId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "propertyId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "recurrence": { "dayOfMonth": 1, "endDate": "2026-04-15", "frequency": "monthly", "startDate": "2026-04-15" }, "tenantId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "unitId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" }'Authorizations
Section titled “Authorizations”Request Bodyrequired
Section titled “Request Bodyrequired”Media typeapplication/json
object
amountCents
required
integer
categoryId
required
string format: uuid
label
required
string
leaseId
string format: uuid
propertyId
string format: uuid
recurrence
required
object
dayOfMonth
required
integer
endDate
string format: date
frequency
required
string
startDate
required
string format: date
tenantId
string format: uuid
unitId
string format: uuid
Responses
Section titled “Responses”Default Response
Media typeapplication/json
object
charge
required
object
amountCents
required
integer
balanceCents
required
integer
categoryId
required
string format: uuid
chargeType
required
string
createdAt
required
string format: date-time
description
required
string
dueDate
required
string format: date
id
required
string format: uuid
lease
required
object
endDate
required
string format: date
id
required
string format: uuid
startDate
required
string format: date
status
required
string
leaseId
required
string format: uuid
name
required
string
organizationId
required
string format: uuid
postedAt
required
string format: date-time
property
required
object
city
required
string
id
required
string format: uuid
name
required
string
state
required
string
propertyId
required
string format: uuid
recurringRuleId
string format: uuid
status
required
string
tenant
required
object
fullName
required
string
id
required
string format: uuid
tenantId
required
string format: uuid
unit
required
object
id
required
string format: uuid
unitNumber
required
string
unitId
required
string format: uuid
recurringChargeRule
required
object
amountCents
required
integer
categoryId
required
string format: uuid
createdAt
required
string format: date-time
dayOfMonth
required
integer
endDate
required
string format: date
frequency
required
string
id
required
string format: uuid
kind
required
string
label
required
string
leaseId
required
string format: uuid
organizationId
required
string format: uuid
propertyId
required
string format: uuid
startDate
required
string format: date
status
required
string
tenantId
required
string format: uuid
unitId
required
string format: uuid
updatedAt
required
string format: date-time
Example
{ "charge": { "chargeType": "rent", "lease": { "status": "draft" }, "status": "pending" }, "recurringChargeRule": { "frequency": "monthly", "kind": "rent", "status": "draft" }}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"}