Skip to content

Create and send tenant invite

POST
/api/tenant-invites
curl --request POST \
--url https://api.getvespy.com/api/tenant-invites \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "channels": [ "email" ], "email": "hello@example.com", "leaseId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "phone": "example", "tenantId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" }'
Media typeapplication/json
object
channels
required

Delivery channels for the invite. There is no default; pick at least one.

Array<string>
>= 1 items <= 2 items
Allowed values: email sms
email
string format: email
leaseId
string format: uuid
nullable
phone

Overrides the tenant phone number for SMS delivery. US numbers may be unformatted; use a leading + for anything else.

string
tenantId
required
string format: uuid

Default Response

Media typeapplication/json
object
emailDelivery
required

Null when email was not among the requested channels.

object
error
string
nullable
messageId
string
nullable
provider
required
string
status
required
string
Allowed values: sent failed
invite
required
object
acceptedAt
required
string format: date-time
nullable
createdAt
required
string format: date-time
createdByUserId
required
string format: uuid
nullable
email
required
string format: email
expiresAt
required
string format: date-time
id
required
string format: uuid
leaseId
required
string format: uuid
nullable
organizationId
required
string format: uuid
revokedAt
required
string format: date-time
nullable
status
required
string
Allowed values: pending accepted expired
tenantId
required
string format: uuid
token
required
string
inviteLink
required

Canonical onboarding link. This is what invite emails carry.

string format: uri
shortInviteLink
required

Short redirect link used for SMS delivery. Expires with the invite. Null when it could not be created.

string format: uri
nullable
smsDelivery
required

Null when sms was not among the requested channels.

object
error
string
nullable
messageId
string
nullable
provider
required
string
status
required
string
Allowed values: sent failed
Example
{
"emailDelivery": {
"status": "sent"
},
"invite": {
"status": "pending"
},
"smsDelivery": {
"status": "sent"
}
}

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"
}

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"
}