Kasify
ENES
  • Documentation
  • Documentación
  • Developers
  • API Reference
Information
AccessCodes
    Create digital access codes for a bookingpostRevoke a digital access codedelete
Account
    Get the user's accountgetUpdate the user's accountput
Auth
    Register the authenticated userpost
Bookings
    Get the current booking for a propertygetList bookings for a propertygetCreate a booking for a propertypostList bookings across all properties the caller can accessgetGet a booking by idgetUpdate a bookingpatch
Calendar
    List calendar events for a propertygetList upcoming calendar events across accessible propertiesget
Checkin
    Get the guest check-in snapshot for a bookinggetRegister a guest on a bookingpost
Geo
    Search countriesgetSearch provincesgetSearch citiesget
Guests
    List guests registered under the caller's accountget
Integrations
    List all integrations configured for the accountgetList integrations of a specific typegetCreate an integration of a specific typepostUpdate an integrationputDelete an integrationdeleteList Nuki smart locks reachable through an integrationgetList Unifi doors reachable through an integrationget
Properties
    List properties accessible to the callergetCreate a propertypostGet a property by idgetUpdate a propertyputDelete a propertydeleteUpload a cover image for a propertypostRemove the cover image for a propertydelete
PropertyMembers
    List invitations for a propertygetCreate a crew invitation for a propertypostList crew members for a propertygetRemove a crew member from a propertydeleteUpdate a crew member's access levelpatchRevoke an invitationdeleteAccept a crew invitationpost
SmartLocks
    List smart locks for a property with live statusgetAdd a smart lock to a propertypostRemove a smart lock from a propertydelete
Tasks
    List tasksgetCreate a taskpostGet a task by idgetDelete a taskdeleteUpdate a taskpatchStart a taskpostComplete a taskpostList tasks for a propertygetGet a task by public token (no auth)get
Timeline
    Upcoming timeline grouped by daygetPaginated activity feedget
Users
    List every user (admin only)get
Schemas
Kasify API
Kasify API

PropertyMembers


List invitations for a property

GET
/properties/{id}/invitations

List invitations for a property › path Parameters

id
​string · required

Property id

List invitations for a property › Responses

Invitations for the property, including expired and exhausted ones

PropertyInvitationsResponse
​PropertyInvitation[] · required
GET/properties/{id}/invitations
curl --request GET \ --url /properties/:id/invitations
shell
Example Responses
{ "invitations": [ { "id": "00000000-0000-0000-0000-000000000000", "propertyId": "00000000-0000-0000-0000-000000000000", "email": "email", "token": "token", "maxUses": 0, "uses": 0, "expiresAt": "expiresAt", "createdAt": "createdAt", "acceptedAt": "acceptedAt", "accessLevel": "accessLevel" } ] }
json
application/json

Create a crew invitation for a property

POST
/properties/{id}/invitations

Generates an invitation token (optionally bound to a specific email) that grants the invitee crew access with the chosen level when accepted.

Create a crew invitation for a property › path Parameters

id
​string · required

Property id

Create a crew invitation for a property › Request Body

CreatePropertyInvitationRequest
email
​string | null
maxUses
​integer | null
expiresAt
​string | null
accessLevel
​string

Create a crew invitation for a property › Responses

The created invitation. Expires seven days after creation.

PropertyInvitation
id
​string · uuid · required
propertyId
​string · uuid · required
token
​string · required
uses
​integer · required
createdAt
​string · required
accessLevel
​string · required
email
​string | null
maxUses
​integer | null
expiresAt
​string | null
acceptedAt
​string | null
POST/properties/{id}/invitations
curl --request POST \ --url /properties/:id/invitations \ --header 'Content-Type: application/json' \ --data ' { "email": "email", "maxUses": 0, "expiresAt": "expiresAt", "accessLevel": "accessLevel" } '
shell
Example Request Body
{ "email": "email", "maxUses": 0, "expiresAt": "expiresAt", "accessLevel": "accessLevel" }
json
Example Responses
{ "id": "00000000-0000-0000-0000-000000000000", "propertyId": "00000000-0000-0000-0000-000000000000", "email": "email", "token": "token", "maxUses": 0, "uses": 0, "expiresAt": "expiresAt", "createdAt": "createdAt", "acceptedAt": "acceptedAt", "accessLevel": "accessLevel" }
json
application/json

List crew members for a property

GET
/properties/{id}/crew

List crew members for a property › path Parameters

id
​string · required

Property id

List crew members for a property › Responses

Crew members with their access levels and services

PropertyMembersResponse
​PropertyMember[] · required
GET/properties/{id}/crew
curl --request GET \ --url /properties/:id/crew
shell
Example Responses
{ "crew": [ { "id": "00000000-0000-0000-0000-000000000000", "name": "name", "last_name": "last_name", "email": "email", "access_level": "access_level", "service": "service" } ] }
json
application/json

Remove a crew member from a property

DELETE
/properties/{id}/crew/{userId}

Remove a crew member from a property › path Parameters

id
​string · required

Property id

userId
​string · required

User id of the crew member to remove

Remove a crew member from a property › Responses

Crew member removed

No data returned
DELETE/properties/{id}/crew/{userId}
curl --request DELETE \ --url /properties/:id/crew/:userId
shell
Example Responses
No example specified for this content type

Update a crew member's access level

PATCH
/properties/{id}/crew/{userId}

Update a crew member's access level › path Parameters

id
​string · required

Property id

userId
​string · required

User id of the crew member to update

Update a crew member's access level › Request Body

UpdatePropertyMemberRequest
accessLevel
​string · required

Update a crew member's access level › Responses

Access level updated

No data returned
PATCH/properties/{id}/crew/{userId}
curl --request PATCH \ --url /properties/:id/crew/:userId \ --header 'Content-Type: application/json' \ --data ' { "accessLevel": "accessLevel" } '
shell
Example Request Body
{ "accessLevel": "accessLevel" }
json
Example Responses
No example specified for this content type

Revoke an invitation

DELETE
/invitations/{id}

Revoke an invitation › path Parameters

id
​string · required

Invitation id

Revoke an invitation › Responses

Invitation deleted

No data returned
DELETE/invitations/{id}
curl --request DELETE \ --url /invitations/:id
shell
Example Responses
No example specified for this content type

Accept a crew invitation

POST
/invitations/{token}/accept

Grants the authenticated caller crew access to the invitation's property at the invitation's access level and increments the invitation's usage counter.

Accept a crew invitation › path Parameters

token
​string · required

Invitation token

Accept a crew invitation › Responses

Invitation accepted; the caller now has access to the property

AcceptInvitationResponse
propertyId
​string · uuid · required
propertyName
​string · required
POST/invitations/{token}/accept
curl --request POST \ --url /invitations/:token/accept
shell
Example Responses
{ "propertyId": "00000000-0000-0000-0000-000000000000", "propertyName": "propertyName" }
json
application/json

PropertiesSmartLocks