user API (develop:84871a)

Download OpenAPI specification:

License: None

Automatically generated swagger spec for the user stack.

AccountService

Create an account

Creates a new account with the given type and subType. Provide company for company accounts or individual for individual accounts. Returns the created account.

Request Body schema: application/json
required
required
object (usercommonv2Company)
required
object (usercommonv2Individual)
subType
required
string (commonv2SubType)
Default: "UNDEFINED"
Enum: "UNDEFINED" "TENANT" "LANDLORD" "SERVICE_PROVIDER" "MARKETING" "OWNER" "LANDLORD_MARKETING" "ACCOUNTING" "LANDLORD_ACCOUNTING" "MARKETING_ACCOUNTING" "LANDLORD_MARKETING_ACCOUNTING" "ASSET_MANAGEMENT" "ASSET_LANDLORD" "ASSET_MARKETING" "ASSET_ACCOUNTING" "ASSET_LANDLORD_MARKETING" "ASSET_LANDLORD_ACCOUNTING" "ASSET_MARKETING_ACCOUNTING" "ASSET_LANDLORD_MARKETING_ACCOUNTING"
type
required
string (usercommonv2Type)
Default: "INDIVIDUAL"
Enum: "INDIVIDUAL" "COMPANY" "PLATFORM_EMPLOYEE"

Responses

Request samples

Content type
application/json
{
  • "company": {
    },
  • "individual": {
    },
  • "subType": "UNDEFINED",
  • "type": "INDIVIDUAL"
}

Response samples

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

Get an account by ID

Returns the account identified by the given id, including company/individual data, contact person, states, billing, and logo.

path Parameters
id
required
string <int64>

Responses

Response samples

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

List accounts

Returns a paginated list of accounts. Supports filtering by types, subTypes, email, companyName, contactPersonName, and states. Response includes total and page counts.

path Parameters
page
required
integer <int32>

Page to load. Defaults to 1

query Parameters
perPage
integer <int32>

Items per page to load. Defaults to 10

types
Array of strings
Items Enum: "INDIVIDUAL" "COMPANY" "PLATFORM_EMPLOYEE"

The type to filter for

subTypes
Array of strings
Items Enum: "UNDEFINED" "TENANT" "LANDLORD" "SERVICE_PROVIDER" "MARKETING" "OWNER" "LANDLORD_MARKETING" "ACCOUNTING" "LANDLORD_ACCOUNTING" "MARKETING_ACCOUNTING" "LANDLORD_MARKETING_ACCOUNTING" "ASSET_MANAGEMENT" "ASSET_LANDLORD" "ASSET_MARKETING" "ASSET_ACCOUNTING" "ASSET_LANDLORD_MARKETING" "ASSET_LANDLORD_ACCOUNTING" "ASSET_MARKETING_ACCOUNTING" "ASSET_LANDLORD_MARKETING_ACCOUNTING"

The type to filter for

email
string

Email to filter for (optional)

companyName
string

Company name to filter for (optional)

contactPersonName
string

Contact person name to filter for (optional)

states
Array of strings
Items Enum: "UNDEFINED_STATE" "CH_ZH" "CH_BE" "CH_LU" "CH_UR" "CH_SZ" "CH_OW" "CH_NW" "CH_GL" "CH_ZG" "CH_FR" "CH_SO" "CH_BS" "CH_BL" "CH_SH" "CH_AR" "CH_AI" "CH_SG" "CH_GR" "CH_AG" "CH_TG" "CH_TI" "CH_VD" "CH_VS" "CH_NE" "CH_GE" "CH_JU"

Optional: All given states need to be part of marketing OR management

Responses

Response samples

Content type
application/json
{
  • "accounts": [
    ],
  • "pageCount": 0,
  • "totalCount": 0
}

List accounts by IDs

Returns the accounts matching the given account IDs.

path Parameters
ids
required
Array of strings <int64> non-empty [ items <int64 > ]

Responses

Response samples

Content type
application/json
{
  • "accounts": [
    ]
}

Change account billing

Updates billing settings for the account identified by id, including billable flag, billing address account, note, contract start, and pricing model.

path Parameters
id
required
string <int64>
Request Body schema: application/json
required
billable
boolean
object (Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following:)
  • A full date, with non-zero year, month, and day values
  • A month and day value, with a zero year, such as an anniversary
  • A year on its own, with zero month and day values
  • A year and month value, with a zero day, such as a credit card expiration date

Related types are [google.type.TimeOfDay][google.type.TimeOfDay] and google.protobuf.Timestamp.

billingAddressAccountId
string <int64>
object (Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following:)
  • A full date, with non-zero year, month, and day values
  • A month and day value, with a zero year, such as an anniversary
  • A year on its own, with zero month and day values
  • A year and month value, with a zero day, such as a credit card expiration date

Related types are [google.type.TimeOfDay][google.type.TimeOfDay] and google.protobuf.Timestamp.

note
string
pricingModel
string (v2PricingModel)
Default: "UNDEFINED_PRICING_MODEL"
Enum: "UNDEFINED_PRICING_MODEL" "SAAS_PRICING_MODEL" "LICENSE_PRICING_MODEL" "SAAS_AND_LICENSE_PRICING_MODEL"

Responses

Request samples

Content type
application/json
{
  • "billable": true,
  • "billableSetDate": {
    },
  • "billingAddressAccountId": "string",
  • "contractStart": {
    },
  • "note": "string",
  • "pricingModel": "UNDEFINED_PRICING_MODEL"
}

Response samples

Content type
application/json
{ }

Change account sub type

Changes the subType of the account identified by id.

path Parameters
id
required
string <int64>
Request Body schema: application/json
required
subType
string (commonv2SubType)
Default: "UNDEFINED"
Enum: "UNDEFINED" "TENANT" "LANDLORD" "SERVICE_PROVIDER" "MARKETING" "OWNER" "LANDLORD_MARKETING" "ACCOUNTING" "LANDLORD_ACCOUNTING" "MARKETING_ACCOUNTING" "LANDLORD_MARKETING_ACCOUNTING" "ASSET_MANAGEMENT" "ASSET_LANDLORD" "ASSET_MARKETING" "ASSET_ACCOUNTING" "ASSET_LANDLORD_MARKETING" "ASSET_LANDLORD_ACCOUNTING" "ASSET_MARKETING_ACCOUNTING" "ASSET_LANDLORD_MARKETING_ACCOUNTING"

Responses

Request samples

Content type
application/json
{
  • "subType": "UNDEFINED"
}

Response samples

Content type
application/json
{ }

Get account font settings

Returns the font family, size, and color settings for the account identified by id.

path Parameters
id
required
string <int64>

Responses

Response samples

Content type
application/json
{
  • "color": {
    },
  • "family": "string",
  • "size": "string"
}

Set account font settings

Sets the font family, size, and color for the account identified by id.

path Parameters
id
required
string <int64>
Request Body schema: application/json
required
object (typeColor)

Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of java.awt.Color in Java; it can also be trivially provided to UIColor's +colorWithRed:green:blue:alpha method in iOS; and, with just a little work, it can be easily formatted into a CSS rgba() string in JavaScript.

This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space.

When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5.

Example (Java):

 import com.google.type.Color;

 // ...
 public static java.awt.Color fromProto(Color protocolor) {
   float alpha = protocolor.hasAlpha()
       ? protocolor.getAlpha().getValue()
       : 1.0;

   return new java.awt.Color(
       protocolor.getRed(),
       protocolor.getGreen(),
       protocolor.getBlue(),
       alpha);
 }

 public static Color toProto(java.awt.Color color) {
   float red = (float) color.getRed();
   float green = (float) color.getGreen();
   float blue = (float) color.getBlue();
   float denominator = 255.0;
   Color.Builder resultBuilder =
       Color
           .newBuilder()
           .setRed(red / denominator)
           .setGreen(green / denominator)
           .setBlue(blue / denominator);
   int alpha = color.getAlpha();
   if (alpha != 255) {
     result.setAlpha(
         FloatValue
             .newBuilder()
             .setValue(((float) alpha) / denominator)
             .build());
   }
   return resultBuilder.build();
 }
 // ...

Example (iOS / Obj-C):

 // ...
 static UIColor* fromProto(Color* protocolor) {
    float red = [protocolor red];
    float green = [protocolor green];
    float blue = [protocolor blue];
    FloatValue* alpha_wrapper = [protocolor alpha];
    float alpha = 1.0;
    if (alpha_wrapper != nil) {
      alpha = [alpha_wrapper value];
    }
    return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
 }

 static Color* toProto(UIColor* color) {
     CGFloat red, green, blue, alpha;
     if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
       return nil;
     }
     Color* result = [[Color alloc] init];
     [result setRed:red];
     [result setGreen:green];
     [result setBlue:blue];
     if (alpha <= 0.9999) {
       [result setAlpha:floatWrapperWithValue(alpha)];
     }
     [result autorelease];
     return result;
}
// ...

Example (JavaScript):

// ...

var protoToCssColor = function(rgb_color) {
   var redFrac = rgb_color.red || 0.0;
   var greenFrac = rgb_color.green || 0.0;
   var blueFrac = rgb_color.blue || 0.0;
   var red = Math.floor(redFrac * 255);
   var green = Math.floor(greenFrac * 255);
   var blue = Math.floor(blueFrac * 255);

   if (!('alpha' in rgb_color)) {
      return rgbToCssColor(red, green, blue);
   }

   var alphaFrac = rgb_color.alpha.value || 0.0;
   var rgbParams = [red, green, blue].join(',');
   return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
};

var rgbToCssColor = function(red, green, blue) {
  var rgbNumber = new Number((red << 16) | (green << 8) | blue);
  var hexString = rgbNumber.toString(16);
  var missingZeros = 6 - hexString.length;
  var resultBuilder = ['#'];
  for (var i = 0; i < missingZeros; i++) {
     resultBuilder.push('0');
  }
  resultBuilder.push(hexString);
  return resultBuilder.join('');
};

// ...
family
string
size
string

Responses

Request samples

Content type
application/json
{
  • "color": {
    },
  • "family": "string",
  • "size": "string"
}

Response samples

Content type
application/json
{ }

Update company account data

Updates the company details of the account identified by id and returns the updated account.

path Parameters
id
required
string <int64>
Request Body schema: application/json
required
object (usercommonv2Company)

Responses

Request samples

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

Response samples

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

Update account contact person

Updates the contact person (userId, name, phone, email) of the account identified by id and returns the updated account.

path Parameters
id
required
string <int64>
Request Body schema: application/json
required
object (useraccountv2ContactPerson)

Responses

Request samples

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

Response samples

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

Update individual account data

Updates the individual details of the account identified by id and returns the updated account.

path Parameters
id
required
string <int64>
Request Body schema: application/json
required
object (usercommonv2Individual)

Responses

Request samples

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

Response samples

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

Update account states

Updates marketing, management, accounting, and asset states for the account identified by id and returns the updated account.

path Parameters
id
required
string <int64>
Request Body schema: application/json
required
accountingStates
Array of strings (addressState)
Items Enum: "UNDEFINED_STATE" "CH_ZH" "CH_BE" "CH_LU" "CH_UR" "CH_SZ" "CH_OW" "CH_NW" "CH_GL" "CH_ZG" "CH_FR" "CH_SO" "CH_BS" "CH_BL" "CH_SH" "CH_AR" "CH_AI" "CH_SG" "CH_GR" "CH_AG" "CH_TG" "CH_TI" "CH_VD" "CH_VS" "CH_NE" "CH_GE" "CH_JU"
assetStates
Array of strings (addressState)
Items Enum: "UNDEFINED_STATE" "CH_ZH" "CH_BE" "CH_LU" "CH_UR" "CH_SZ" "CH_OW" "CH_NW" "CH_GL" "CH_ZG" "CH_FR" "CH_SO" "CH_BS" "CH_BL" "CH_SH" "CH_AR" "CH_AI" "CH_SG" "CH_GR" "CH_AG" "CH_TG" "CH_TI" "CH_VD" "CH_VS" "CH_NE" "CH_GE" "CH_JU"
managementStates
Array of strings (addressState)
Items Enum: "UNDEFINED_STATE" "CH_ZH" "CH_BE" "CH_LU" "CH_UR" "CH_SZ" "CH_OW" "CH_NW" "CH_GL" "CH_ZG" "CH_FR" "CH_SO" "CH_BS" "CH_BL" "CH_SH" "CH_AR" "CH_AI" "CH_SG" "CH_GR" "CH_AG" "CH_TG" "CH_TI" "CH_VD" "CH_VS" "CH_NE" "CH_GE" "CH_JU"
marketingStates
Array of strings (addressState)
Items Enum: "UNDEFINED_STATE" "CH_ZH" "CH_BE" "CH_LU" "CH_UR" "CH_SZ" "CH_OW" "CH_NW" "CH_GL" "CH_ZG" "CH_FR" "CH_SO" "CH_BS" "CH_BL" "CH_SH" "CH_AR" "CH_AI" "CH_SG" "CH_GR" "CH_AG" "CH_TG" "CH_TI" "CH_VD" "CH_VS" "CH_NE" "CH_GE" "CH_JU"

Responses

Request samples

Content type
application/json
{
  • "accountingStates": [
    ],
  • "assetStates": [
    ],
  • "managementStates": [
    ],
  • "marketingStates": [
    ]
}

Response samples

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

NotificationService

Get a notification token

Returns a notification token for the given userId.

query Parameters
userId
string

Responses

Response samples

Content type
application/json
{
  • "token": "string"
}

Publish a system update message

Publishes a system update notification with message text in German, English, and Italian.

Request Body schema: application/json
required
message
required
string
messageEn
required
string
messageIt
required
string

Responses

Request samples

Content type
application/json
{
  • "message": "string",
  • "messageEn": "string",
  • "messageIt": "string"
}

Response samples

Content type
application/json
{ }

Get notification settings

Returns notification settings for the given userId, including channels and ticket, other, and marketbase preferences.

query Parameters
userId
string

Responses

Response samples

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

Set notification settings

Updates notification channels and ticket, other, and marketbase preferences for the given userId. Returns the saved settings.

Request Body schema: application/json
required
channels
required
Array of strings (v2NotificationChannel)
Items Enum: "NOTIFICATION_CHANNEL_EMAIL" "NOTIFICATION_CHANNEL_PUSH"
required
object (v2MarketbaseNotifications)
required
object (v2OtherNotifications)
required
object (v2TicketNotifications)
userId
required
string

Responses

Request samples

Content type
application/json
{
  • "channels": [
    ],
  • "marketbaseNotifications": {
    },
  • "otherNotifications": {
    },
  • "ticketNotifications": {
    },
  • "userId": "string"
}

Response samples

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

PortalService

Enable or disable portal

Enables or disables the portal for the given accountIds, optionally scoped to propertyIds.

Request Body schema: application/json
required
accountIds
required
Array of strings <int64> [ items <int64 > ]
enable
required
boolean
propertyIds
required
Array of strings

Responses

Request samples

Content type
application/json
{
  • "accountIds": [
    ],
  • "enable": true,
  • "propertyIds": [
    ]
}

Response samples

Content type
application/json
{ }

Get portal data by email

Returns portal data for the given email, including titles, media entries, and links.

path Parameters
email
required
string

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Check if portal is enabled

Returns whether the portal is enabled for the given accountId, along with the related propertyIds.

path Parameters
accountId
required
string <int64>

Responses

Response samples

Content type
application/json
{
  • "enabled": true,
  • "propertyIds": [
    ]
}

List portal document groups by email

Returns document groups (title, subtitle, and media entries) available in the portal for the given email.

path Parameters
email
required
string

Responses

Response samples

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

List portal links by reference IDs

Returns portal links matching the given referenceIds.

Request Body schema: application/json
required
referenceIds
required
Array of strings

Responses

Request samples

Content type
application/json
{
  • "referenceIds": [
    ]
}

Response samples

Content type
application/json
{
  • "links": [
    ]
}

UserService

Get a user by ID

Returns the user identified by the given userId, including profile, address, roles, and blocked/deleted status.

path Parameters
userId
required
string

Responses

Response samples

Content type
application/json
{
  • "accountId": "string",
  • "address": {
    },
  • "blocked": true,
  • "createdAt": "string",
  • "deleted": true,
  • "email": "string",
  • "id": "string",
  • "profile": {
    },
  • "roles": [
    ]
}

Get a user by email

Returns the user matching the given email address.

path Parameters
email
required
string

Responses

Response samples

Content type
application/json
{
  • "accountId": "string",
  • "address": {
    },
  • "blocked": true,
  • "createdAt": "string",
  • "deleted": true,
  • "email": "string",
  • "id": "string",
  • "profile": {
    },
  • "roles": [
    ]
}

Invite an employee to an account

Invites a user by email to the given accountId with optional roles, password, and password-reset email. Returns the created or invited user.

Request Body schema: application/json
required
accountId
required
string <int64> (The accountId to which the user should be invited)
email
required
string
firstName
required
string
lastName
required
string
password
required
string (Optional as it can only be set if platform_employee type)
roles
required
Array of strings
sendPasswordReset
required
boolean

Responses

Request samples

Content type
application/json
{
  • "accountId": "string",
  • "email": "string",
  • "firstName": "string",
  • "lastName": "string",
  • "password": "string",
  • "roles": [
    ],
  • "sendPasswordReset": true
}

Response samples

Content type
application/json
{
  • "accountId": "string",
  • "address": {
    },
  • "blocked": true,
  • "createdAt": "string",
  • "deleted": true,
  • "email": "string",
  • "id": "string",
  • "profile": {
    },
  • "roles": [
    ]
}

List users

Returns a paginated list of users. Supports filtering by accountId, email, firstName, and lastName. Response includes page metadata and overall count.

query Parameters
page
integer <int32>

Starting from 1

itemsPerPage
integer <int32>
accountId
string <int64>
email
string
firstName
string
lastName
string

Responses

Response samples

Content type
application/json
{
  • "itemsPerPage": 0,
  • "overallCount": 0,
  • "page": 0,
  • "pageCount": 0,
  • "users": [
    ]
}

List employees for multiple accounts

Returns employee users for all of the given accountIds.

Request Body schema: application/json
required
accountIds
required
Array of strings <int64> [ items <int64 > ]

Responses

Request samples

Content type
application/json
{
  • "accountIds": [
    ]
}

Response samples

Content type
application/json
{
  • "employees": [
    ]
}

List employees for an account

Returns all employee users belonging to the given accountId.

path Parameters
accountId
required
string <int64>

Coozzy account ID

Responses

Response samples

Content type
application/json
{
  • "employees": [
    ]
}

Register a user with a token

Completes registration using the given invite/register token and password.

Request Body schema: application/json
required
password
required
string
token
required
string

Responses

Request samples

Content type
application/json
{
  • "password": "string",
  • "token": "string"
}

Response samples

Content type
application/json
{ }

Resolve a registration token

Resolves a registration token and returns the associated email, name, gender, and company name.

path Parameters
token
required
string

Responses

Response samples

Content type
application/json
{
  • "companyName": "string",
  • "email": "string",
  • "firstName": "string",
  • "gender": "UNDEFINED",
  • "lastName": "string"
}

Block users

Blocks the users identified by the given userIds.

path Parameters
userIds
required
Array of strings non-empty

Responses

Response samples

Content type
application/json
{ }

Unblock users

Unblocks the users identified by the given userIds.

path Parameters
userIds
required
Array of strings non-empty

Responses

Response samples

Content type
application/json
{ }

Add a role to a user

Adds the given role to the specified userId and returns the updated user.

path Parameters
userId
required
string
Request Body schema: application/json
required
role
string

Responses

Request samples

Content type
application/json
{
  • "role": "string"
}

Response samples

Content type
application/json
{
  • "accountId": "string",
  • "address": {
    },
  • "blocked": true,
  • "createdAt": "string",
  • "deleted": true,
  • "email": "string",
  • "id": "string",
  • "profile": {
    },
  • "roles": [
    ]
}

Change a user email

Updates the email of the given userId to newEmail and returns the updated user.

path Parameters
userId
required
string
Request Body schema: application/json
required
newEmail
string

Responses

Request samples

Content type
application/json
{
  • "newEmail": "string"
}

Response samples

Content type
application/json
{
  • "accountId": "string",
  • "address": {
    },
  • "blocked": true,
  • "createdAt": "string",
  • "deleted": true,
  • "email": "string",
  • "id": "string",
  • "profile": {
    },
  • "roles": [
    ]
}

Change a user password

Sets a new password for the given userId and returns the updated user.

path Parameters
userId
required
string
Request Body schema: application/json
required
newPassword
string

Responses

Request samples

Content type
application/json
{
  • "newPassword": "string"
}

Response samples

Content type
application/json
{
  • "accountId": "string",
  • "address": {
    },
  • "blocked": true,
  • "createdAt": "string",
  • "deleted": true,
  • "email": "string",
  • "id": "string",
  • "profile": {
    },
  • "roles": [
    ]
}

Remove a role from a user

Removes the given role from the specified userId and returns the updated user.

path Parameters
userId
required
string
Request Body schema: application/json
required
role
string

Responses

Request samples

Content type
application/json
{
  • "role": "string"
}

Response samples

Content type
application/json
{
  • "accountId": "string",
  • "address": {
    },
  • "blocked": true,
  • "createdAt": "string",
  • "deleted": true,
  • "email": "string",
  • "id": "string",
  • "profile": {
    },
  • "roles": [
    ]
}

Update a user profile

Updates the profile of the given userId and returns the updated user.

path Parameters
userId
required
string
Request Body schema: application/json
required
object (v2Profile)

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "accountId": "string",
  • "address": {
    },
  • "blocked": true,
  • "createdAt": "string",
  • "deleted": true,
  • "email": "string",
  • "id": "string",
  • "profile": {
    },
  • "roles": [
    ]
}