casavi Community API (1.0.0)

Download OpenAPI specification:Download

casavi

Manager API here

Access to functionality that is used by community apps (web & hybrid)

Authentication

We support two authorization methods: via cookie and open id connect. Just follow the normal open id authorization flow using this discovery endpoint /.well-known/openid-configuration

Bearer

Security Scheme Type API Key
Header parameter name: Authorization

Cookie

Security Scheme Type API Key
Cookie parameter name: user_session

Open ID Connect

<no summary>

Request Body schema: application/json
firstName
string
lastName
string
email
string
clientId
string
inviteCode
string
providerKey
string

The provider key is used to allow the user to login afterwards using the specified open id connect provider. Only known providers are allowed here. Ask your technical contact or for the required value in your case.

sub
string

An optional user identifier to be used for that user (see providerKey attribute). If not specified the reference id of the contact will be used.

Responses

Request samples

Content type
application/json
{
  • "firstName": "Max",
  • "lastName": "Mustermann",
  • "email": "max@mustermann.com",
  • "clientId": "foobar",
  • "inviteCode": "9ug2ef6",
  • "providerKey": "somekey",
  • "sub": "u00001"
}

Response samples

Content type
application/json
{
  • "oidcIdToken": "jg814jti34",
  • "oidcAccessToken": "mginugz156124",
  • "oidcRefreshToken": "gnujnjsqq41",
  • "contactExtRef": "c-1235"
}

Endpoint to retrieve all information about the cas

Endpoint to retrieve all information about the casavi open id provider.

Responses

Tickets

Ticket system routes

<no summary>

Authorizations:
query Parameters
community_id
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

<no summary>

Authorizations:
Request Body schema: application/json
communityId
integer
object

Maps fields to values. Keys are the ids of the fields (from the ticket types), the value is the user input. File uploads are also added here (see example)

ticketTypeId
integer

Reference to the ticket type for this new ticket

unitId
integer

Reference to the unit for which this ticket will be created. See /api/v1/units for information on how to get all units for the user

Responses

Request samples

Content type
application/json
{
  • "communityId": 0,
  • "fields": {
    },
  • "ticketTypeId": 2341,
  • "unitId": 433
}

<no summary>

Authorizations:
path Parameters
ticket_id
required
integer
Request Body schema: application/json
Array of objects (Upload)
text
string

Responses

Request samples

Content type
application/json
{
  • "attachments": [
    ],
  • "text": "Lorem ipsum dolor sit amut"
}

<no summary>

Authorizations:
path Parameters
ticket_id
required
integer

Responses

Response samples

Content type
application/json
{
  • "AssignedTo": {
    },
  • "Community": {
    },
  • "Contact": {
    },
  • "CreatedBy": {
    },
  • "Sharings": { },
  • "Attachments": [
    ],
  • "TicketComments": [
    ],
  • "TicketRating": {
    },
  • "TicketType": {
    },
  • "Unit": {
    },
  • "status": "OPEN",
  • "statusText": "string",
  • "customFields": [
    ],
  • "descriptionRendered": "string",
  • "id": 0,
  • "identifier": 0,
  • "referenceId": "string",
  • "title": "string"
}

<no summary>

Authorizations:
path Parameters
community_id
required
integer

ID of the community to show

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Appointments

Information about appointments

<no summary>

Authorizations:
path Parameters
community_id
required
integer

ID of the community to show

query Parameters
page
integer

Page index to show, starts at 0

limit
integer

Limit the number of results returned

Responses

Response samples

Content type
application/json
{
  • "page": 0,
  • "pageCount": 0,
  • "pageSize": 0,
  • "rows": [
    ]
}

Official Posts

Posts from managers

<no summary>

Authorizations:
path Parameters
community_id
required
integer

ID of the community to show

query Parameters
page
integer

Page index to show, starts at 0

Responses

Response samples

Content type
application/json
{
  • "page": 0,
  • "pageCount": 0,
  • "pageSize": 0,
  • "rows": [
    ]
}

Important Contacts

Contacts like property management, emergency, plumbing etc

<no summary>

Authorizations:
path Parameters
community_id
required
integer

ID of the community to show

Responses

Response samples

Content type
application/json
[
  • {
    }
]

FAQ Articles

FAQ articles are answers to common questions and linked to tickets

<no summary>

Authorizations:
query Parameters
community_id
string

Responses

Response samples

Content type
application/json
{
  • "groups": [
    ],
  • "items": [
    ]
}

Chat

Direct chat between community users

<no summary>

Authorizations:
path Parameters
community_id
required
integer

ID of the community to show

Responses

Response samples

Content type
application/json
{
  • "count": 0
}

Notifications

Updates to things like tickets, documents and neighborhood for the users

<no summary>

Authorizations:
path Parameters
community_id
required
integer

ID of the community to show

Responses

Response samples

Content type
application/json
{
  • "count": 0
}

<no summary>

Authorizations:
path Parameters
community_id
required
integer

ID of the community to show

query Parameters
after
string <date-time>

Filter notifications so that only notifications created after this timestmap are returned

before
string <date-time>

Filter notifications so that only notifications created before this timestmap are returned

unreadOnly
boolean

Filter notifications so that only unread notifications are returned

Responses

Response samples

Content type
application/json
{
  • "pageSize": 0,
  • "count": 0,
  • "rowsOnPage": 0,
  • "rows": [
    ]
}

Mark all notifications for this user as read

Mark all notifications for this user as read

Authorizations:
path Parameters
community_id
required
integer

ID of the community to show

Responses

Mark this notification as read by the user.

Mark this notification as read by the user.

Authorizations:
path Parameters
community_id
required
integer

ID of the community to show

notification_id
required
integer

Id of a single notification

Responses

Activities

Events happening in the community for display to the user

<no summary>

Authorizations:
path Parameters
community_id
required
integer

ID of the community to show

query Parameters
page
integer

Page index to show, starts at 0

limit
integer

Limit the number of results returned

Responses

Response samples

Content type
application/json
{
  • "page": 0,
  • "pageCount": 0,
  • "pageSize": 0,
  • "rows": [
    ]
}

Units

Access to units of the user in a community

<no summary>

Authorizations:
query Parameters
community_id
integer

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Uploads

File upload for use in tickets

<no summary>

header Parameters
X-Filename
required
string
Example: my-wonderful-flat.jpg

Name of the file to be displayed after download

Content-Type
required
string
Example: image/jpeg

MIME type of the file

Request Body schema: application/json

Binary data of the file (max 10 MB)

File

Responses

Request samples

Content type
application/json
null

Response samples

Content type
application/json
{
  • "path": "mK3Jk1233asdanh534343Me.jpg",
  • "name": "avatar.jpg",
  • "fileType": "image/jpeg",
  • "fileSize": 23454,
  • "thumbs": {
    }
}

Invitation

<no summary>

Authorizations:
path Parameters
community_id
required
integer

ID of the community to show

Request Body schema: application/json
contactId
integer
unitId
integer
firstName
string
lastName
string
email
string
isAdmin
boolean
Default: false

Responses

Request samples

Content type
application/json
{
  • "contactId": 412,
  • "unitId": 56312,
  • "firstName": "Max",
  • "lastName": "Mustermann",
  • "email": "max@email.provider",
  • "isAdmin": false
}

Response samples

Content type
application/json
{
  • "pendingUsers": {
    }
}

Check invite tokens and receive information about

Check invite tokens and receive information about their contents. This route is protected against brute force attacks, meaning that failing requests lead to increasing wait times.

query Parameters
invite_token
required
string
Example: invite_token=fb7asb64

Any invite token

Responses

Response samples

Content type
application/json
{
  • "tokenString": "fb7asb64",
  • "type": "invite",
  • "contact": {
    },
  • "communities": [
    ],
  • "tenant": {
    },
  • "roles": [
    ]
}