API-Schnittstelle (Web)

API-Schnittstelle (Web)

Die BauMaster App bietet eine Token authentifizierte REST API an. Bitte beachten Sie, dass die API Dokumentation wie üblich in Englisch ist.
In der aktuellen Fassung (1.0.2) können Endpunkte für folgende Funktionen angesprochen werden:
  1. Projekte anlegen
  2. Firmen und Kontakte
  3. Attachments (Bilder und Dateien) und PDF-Dokumente (PDF-Protokolle und Berichte)
  4. Projektkosten

Notes
Für das Einrichten eines API Keys kontaktieren Sie bitte unseren Support unter support@bau-master.com


BauMaster API

This is the specification of the public API of BauMaster.
Access to the endpoints requires an ApplicationToken generated by BauMaster client.
That ApplicationToken can be revoked in BauMaster client.

You can access the API at: https://api.bau-master.at
You can contact BauMaster at: support@bau-master.com 
You can find further information at: https://bau-master.com
Info
In case you need access to a staging environment, please contact us at the mentioned email.

Areas of use

Project: Access to projects
CompanyProfile: Access to company and profiles (contacts) 
Profile: Access to profiles (contacts) of companies
ProjectRoom: Access to "Drawings & Documents" or as called in this documentation "project room", which includes attachments, PDF records, uploaded files and more
ProjectCosts: Access to project costs

Areas in the frontend, that are accessible via this API


Project


Access to projects
GET /api/ext/projects
Information

Returns a list of all active projects. No search parameters supported.

Request
Query Parameter


KeyDescription
bmAuthorization *
string
Must be "Token <appToken>" , where <appToken> can be obtained in BauMaster client or from our Support (support@bau-master.com)


Response
HTTP Status Codes


StatusDescription
200
OK
Success.

Example Value:
  1. [
    {
    "id": "bc6b821d-ee55-4ddf-a23b-f93d6192256510",
    "status": 10,
    "clientId": "bc6b821d-ee55-4ddf-a23b-f93d6192256510",
    "changedAt": "2023-01-01T00:00:00Z",
    "createdAt": "2023-01-01T00:00:00Z",
    "projectImage": "string",
    "number": "4500",
    "name": "Casino Royal",
    "description": "This is about building the new Casino Royal in LasVegas",
    "contractee": "Casino LTD",
    "currency": 1,
    "language": "de",
    "addressSite": "Main square 1, Las Vegas",
    "addressContractee": "string",
    "startAt": "2023-01-01T00:00:00Z",
    "completeAt": "2023-01-01T00:00:00Z",
    "taxRate": 20
    }
    ]
401
UNAUTHORIZED
Invalid application token.
403
FORBIDDEN
Access denied regardless of authorization status.
500
INTERNAL SERVICE ERROR
Unexpected service interruption.


* Required
POST /api/ext/projects
Information

Creates a new project for the client where ID is generated by the server.

Request
Query Parameter


KeyDescription
bmAuthorization *
string
Must be "Token <appToken>" , where <appToken> can be obtained in BauMaster client or from our Support (support@bau-master.com)


Request
Body Structure

JSON object including following values:

KeyDescription
number *
string
The number of the project with max. length of 12 characters.
name *
string
The name of the project with max. length of 255 characters.
description
string
The description of the project.
contractee 
string
The contractee of the project.
addressContractee
string
The address of the contractee.
startAt
string
Date (YYYY-MM-DDTHH:mm:ssZ) when the project started.
completeAt
string
Date (YYYY-MM-DDTHH:mm:ssZ) when the project ended.
currency *
integer
The currency of the project.
1 = EUR (€)
2 = GBP (£)
3 = CHF
language *
string
The language of the project.
Supported values: "de", "en", "fr"
taxRate *
integer
The tax rate in % for that project used for calculation.


Response
HTTP Status Codes


StatusDescription
200
OK
Success.

Example Value:
  1. {
    "id": "bc6b821d-ee55-4ddf-a23b-f93d6192256510",
    "status": 10,
    "clientId": "bc6b821d-ee55-4ddf-a23b-f93d6192256510",
    "changedAt": "2023-01-01T00:00:00Z",
    "createdAt": "2023-01-01T00:00:00Z",
    "projectImage": "string",
    "number": "4500",
    "name": "Casino Royal",
    "description": "This is about building the new Casino Royal in LasVegas",
    "contractee": "Casino LTD",
    "currency": 1,
    "language": "de",
    "addressSite": "Main square 1, Las Vegas",
    "addressContractee": "string",
    "startAt": "2023-01-01T00:00:00Z",
    "completeAt": "2023-01-01T00:00:00Z",
    "taxRate": 20
    }






401
UNAUTHORIZED
Invalid application token.
403
FORBIDDEN
Access denied regardless of authorization status.
422
UNPROCESSABLE ENTITY
Validation error.
500
INTERNAL SERVICE ERROR
Unexpected service interruption.


* Required
GET /api/ext/projects/{projectId}
Information

Returns one project by ID.


Request

Query Parameter


KeyDescription
bmAuthorization *
string
Must be "Token <appToken>" , where <appToken> can be obtained in BauMaster client or from our Support (support@bau-master.com)


Request
URI Parameter


KeyDescription
projectId *
string
ID of the project to be returned.


Response
HTTP Status Codes


StatusDescription
200
OK
Success.

Example Value:
  1. [
    {
    "id": "bc6b821d-ee55-4ddf-a23b-f93d6192256510",
    "status": 10,
    "clientId": "bc6b821d-ee55-4ddf-a23b-f93d6192256510",
    "changedAt": "2023-01-01T00:00:00Z",
    "createdAt": "2023-01-01T00:00:00Z",
    "projectImage": "string",
    "number": "4500",
    "name": "Casino Royal",
    "description": "This is about building the new Casino Royal in LasVegas",
    "contractee": "Casino LTD",
    "currency": 1,
    "language": "de",
    "addressSite": "Main square 1, Las Vegas",
    "addressContractee": "string",
    "startAt": "2023-01-01T00:00:00Z",
    "completeAt": "2023-01-01T00:00:00Z",
    "taxRate": 20
    }
    ]
401
UNAUTHORIZED
Invalid application token.
403
FORBIDDEN
Access denied regardless of authorization status.
500
INTERNAL SERVICE ERROR
Unexpected service interruption.


* Required

POST /api/ext/projects/{projectId}
Information

Creates a new project for the client where ID is provided by the client.


Request

Query Parameter


KeyDescription
bmAuthorization *
string
Must be "Token <appToken>" , where <appToken> can be obtained in BauMaster client or from our Support (support@bau-master.com)


Request

URI Parameter


KeyDescription
projectId *
string
ID of the project to be returned. (Format: UUID v4)



Request
Body Structure

JSON object including following values:

KeyDescription
number *
string
The number of the project with max. length of 12 characters.
name *
string
The name of the project with max. length of 255 characters.
description
string
The description of the project.
contractee 
string
The contractee of the project.
addressContractee
string
The address of the contractee.
startAt
string
Date (YYYY-MM-DDTHH:mm:ssZ) when the project started.
completeAt
string
Date (YYYY-MM-DDTHH:mm:ssZ) when the project ended.
currency *
integer
The currency of the project.
1 = EUR (€)
2 = GBP (£)
3 = CHF
language *
string
The language of the project.
Supported values: "de", "en", "fr"
taxRate *
integer
The tax rate in % for that project used for calculation.

Response
HTTP Status Codes


StatusDescription
200
OK
Success.

Example Value:
  1. {
    "id": "bc6b821d-ee55-4ddf-a23b-f93d6192256510",
    "status": 10,
    "clientId": "bc6b821d-ee55-4ddf-a23b-f93d6192256510",
    "changedAt": "2023-01-01T00:00:00Z",
    "createdAt": "2023-01-01T00:00:00Z",
    "projectImage": "string",
    "number": "4500",
    "name": "Casino Royal",
    "description": "This is about building the new Casino Royal in LasVegas",
    "contractee": "Casino LTD",
    "currency": 1,
    "language": "de",
    "addressSite": "Main square 1, Las Vegas",
    "addressContractee": "string",
    "startAt": "2023-01-01T00:00:00Z",
    "completeAt": "2023-01-01T00:00:00Z",
    "taxRate": 20
    }
401
UNAUTHORIZED
Invalid application token.
403
FORBIDDEN
Access denied regardless of authorization status.
422
UNPROCESSABLE ENTITY
Validation error.
500
INTERNAL SERVICE ERROR
Unexpected service interruption.

* Required
PUT /api/ext/projects/{projectId}
Information

Updates one project by ID.


Request

Query Parameter


KeyDescription
bmAuthorization *
string
Must be "Token <appToken>" , where <appToken> can be obtained in BauMaster client or from our Support (support@bau-master.com)


Request

URI Parameter


KeyDescription
projectId *
string
ID of the project to be updated. (Format: UUID v4)



Request
Body Structure

JSON object including following values:

KeyDescription
status
integer
The status of the project.
10 = ACTIVE
20 = ARCHIVED
30 = DELETED
changedAt
string
Date (YYYY-MM-DDTHH:mm:ssZ) of when the project is updated. If provided, the value is checked against the value on the server and update fails, if it does not match.
number 
string
The number of the project with max. length of 12 characters.
name 
string
The name of the project with max. length of 255 characters.
description
string
The description of the project.
contractee 
string
The contractee of the project.
addressContractee
string
The address of the contractee.
startAt
string
Date (YYYY-MM-DDTHH:mm:ssZ) when the project started.
completeAt
string
Date (YYYY-MM-DDTHH:mm:ssZ) when the project ended.
currency 
integer
The currency of the project.
1 = EUR (€)
2 = GBP (£)
3 = CHF
language 
string
The language of the project.
Supported values: "de", "en", "fr"
taxRate 
integer
The tax rate in % for that project used for calculation.


Response
HTTP Status Codes


StatusDescription
200
OK
Success.

Example Value:
  1. {
    "id": "bc6b821d-ee55-4ddf-a23b-f93d6192256510",
    "status": 10,
    "clientId": "bc6b821d-ee55-4ddf-a23b-f93d6192256510",
    "changedAt": "2023-01-01T00:00:00Z",
    "createdAt": "2023-01-01T00:00:00Z",
    "projectImage": "string",
    "number": "4500",
    "name": "Casino Royal",
    "description": "This is about building the new Casino Royal in LasVegas",
    "contractee": "Casino LTD",
    "currency": 1,
    "language": "de",
    "addressSite": "Main square 1, Las Vegas",
    "addressContractee": "string",
    "startAt": "2023-01-01T00:00:00Z",
    "completeAt": "2023-01-01T00:00:00Z",
    "taxRate": 20
    }
401
UNAUTHORIZED
Invalid application token.
403
FORBIDDEN
Access denied regardless of authorization status.
422
UNPROCESSABLE ENTITY
Validation error.
500
INTERNAL SERVICE ERROR
Unexpected service interruption.

* Required


CompanyProfile


Access to company and profiles (contacts)
GET /api/ext/companyProfiles
Information

Returns a list of all active companies and active profiles (contacts).


Request

Query Parameter


KeyDescription
bmAuthorization *
string
Must be "Token <appToken>" , where <appToken> can be obtained in BauMaster client or from our Support (support@bau-master.com)


Response
HTTP Status Codes


StatusDescription
200
OK
Success.

Example Value:
  1. [
    {
    "id": "bc6b821d-ee55-4ddf-a23b-f93d6192256510",
    "changedAt": "2023-01-01T00:00:00Z",
    "address": {
    "id": "bc6b821d-ee55-4ddf-a23b-f93d6192256510",
    "changedAt": "2023-01-01T00:00:00Z",
    "city": "Las Vegas",
    "country": "US",
    "email": "john.doe@company.com",
    "phone": "01 233343434",
    "fax": "01 233343434",
    "street1": "Main road",
    "street2": "1",
    "zipCode": "88901"
    },
    "profiles": [
    {
    "id": "bc6b821d-ee55-4ddf-a23b-f93d6192256510",
    "changedAt": "2023-01-01T00:00:00Z",
    "address": {
    "id": "bc6b821d-ee55-4ddf-a23b-f93d6192256510",
    "changedAt": "2023-01-01T00:00:00Z",
    "firstName": "John",
    "lastName": "Doe",
    "email": "john.doe@company.com",
    "phone": "01 233343434",
    "mobile": "01 233343434",
    "fax": "01 233343434"
    },
    "note": "string",
    "profession": "Polier",
    "dsgvoShowEmail": true,
    "dsgvoShowTel": false
    }
    ],
    "name": "Casino LTD",
    "note": "string"
    }
    ]
401
UNAUTHORIZED
Invalid application token.
403
FORBIDDEN
Access denied regardless of authorization status.
500
INTERNAL SERVICE ERROR
Unexpected service interruption.


* Required
POST /api/ext/companyProfiles
Information

Creates a new company and optionally new profiles (contacts) for the client where ID is generated by the server.


Request

Query Parameter


KeyDescription
bmAuthorization *
string
Must be "Token <appToken>" , where <appToken> can be obtained in BauMaster client or from our Support (support@bau-master.com)


Request
Body Structure

JSON object including following values:

KeyDescription
address
CompanyAddress
CompanyAddress of the company.
profiles *
Profile[ ]
Array of Profiles of the company. (If no profiles should be added, pass an empty array like [] )
name *
string
The name of the company with max. length of 255 characters.
note 
string
Optional note.

CompanyAddress

KeyDescription
city
string
Name of the city with max. length of 255 characters.
country
string
Name of the country with max. length of 255 characters.
email
string
Valid email address of the profile with max. length of 255 characters.
phone
string
Valid phone number of the profile with max. length of 255 characters.
fax
string
Valid fax number of the profile with max. length of 255 characters.
street1
string
Name of the street with max. length of 255 characters.
street2
string
Additional information like street number with max. length of 255 characters.
zipCode
string
Zip code of the location with max. length of 255 characters.

ProfileAddress

KeyDescription
firstName
string
First name of profile with max. length of 255 characters.
lastName
string
Last name of the country with max. length of 255 characters.
email
string
Valid email address of the profile with max. length of 255 characters.
phone
string
Valid phone number of the profile with max. length of 255 characters.
mobile
string
Valid phone number of the profile with max. length of 255 characters.
fax
string
Valid fax number of the profile with max. length of 255 characters.


Profile

KeyDescription
address
string
ProfileAddress of the profile.
note
string
Any note to that profile.
profession
string
Profession of the profile with max. length of 255 characters.
dsgvoShowEmail *
boolean
A flag if the profile (contact) is agreeing with their email being printed on PDF records. 
dsgvoShowTel *
boolean
A flag if the profile (contact) is agreeing with their phone number being printed on PDF records.
fax
string
Valid fax number of the profile with max. length of 255 characters.
street1
string
Name of the street with max. length of 255 characters.
street2
string
Additional information like street number with max. length of 255 characters.
zipCode
string
Zip code of the location with max. length of 255 characters.


Response
HTTP Status Codes


StatusDescription
200
OK
Success.

Example Value:
  1. {
    "id": "bc6b821d-ee55-4ddf-a23b-f93d6192256510",
    "changedAt": "2023-01-01T00:00:00Z",
    "address": {
    "id": "bc6b821d-ee55-4ddf-a23b-f93d6192256510",
    "changedAt": "2023-01-01T00:00:00Z",
    "city": "Las Vegas",
    "country": "US",
    "email": "john.doe@company.com",
    "phone": "01 233343434",
    "fax": "01 233343434",
    "street1": "Main road",
    "street2": "1",
    "zipCode": "88901"
    },
    "profiles": [
    {
    "id": "bc6b821d-ee55-4ddf-a23b-f93d6192256510",
    "changedAt": "2023-01-01T00:00:00Z",
    "address": {
    "id": "bc6b821d-ee55-4ddf-a23b-f93d6192256510",
    "changedAt": "2023-01-01T00:00:00Z",
    "firstName": "John",
    "lastName": "Doe",
    "email": "john.doe@company.com",
    "phone": "01 233343434",
    "mobile": "01 233343434",
    "fax": "01 233343434"
    },
    "note": "string",
    "profession": "Polier",
    "dsgvoShowEmail": true,
    "dsgvoShowTel": false
    }
    ],
    "name": "Casino LTD",
    "note": "string"
    }

401
UNAUTHORIZED
Invalid application token.
403
FORBIDDEN
Access denied regardless of authorization status.
422
UNPROCESSABLE ENTITY
Validation error.
500
INTERNAL SERVICE ERROR
Unexpected service interruption.

* Required

GET /api/ext/companyProfiles/{companyId}
Information

Returns a company by id with all active profiles (contacts).


Request

Query Parameter


KeyDescription
bmAuthorization *
string
Must be "Token <appToken>" , where <appToken> can be obtained in BauMaster client or from our Support (support@bau-master.com)


Request
URI Parameter


KeyDescription
companyId *
string
ID of the company to be returned.


Response
HTTP Status Codes


StatusDescription
200
OK
Success.

Example Value:
  1. [
    {
    "id": "bc6b821d-ee55-4ddf-a23b-f93d6192256510",
    "changedAt": "2023-01-01T00:00:00Z",
    "address": {
    "id": "bc6b821d-ee55-4ddf-a23b-f93d6192256510",
    "changedAt": "2023-01-01T00:00:00Z",
    "city": "Las Vegas",
    "country": "US",
    "email": "john.doe@company.com",
    "phone": "01 233343434",
    "fax": "01 233343434",
    "street1": "Main road",
    "street2": "1",
    "zipCode": "88901"
    },
    "profiles": [
    {
    "id": "bc6b821d-ee55-4ddf-a23b-f93d6192256510",
    "changedAt": "2023-01-01T00:00:00Z",
    "address": {
    "id": "bc6b821d-ee55-4ddf-a23b-f93d6192256510",
    "changedAt": "2023-01-01T00:00:00Z",
    "firstName": "John",
    "lastName": "Doe",
    "email": "john.doe@company.com",
    "phone": "01 233343434",
    "mobile": "01 233343434",
    "fax": "01 233343434"
    },
    "note": "string",
    "profession": "Polier",
    "dsgvoShowEmail": true,
    "dsgvoShowTel": false
    }
    ],
    "name": "Casino LTD",
    "note": "string"
    }
    ]
401
UNAUTHORIZED
Invalid application token.
403
FORBIDDEN
Access denied regardless of authorization status.
500
INTERNAL SERVICE ERROR
Unexpected service interruption.


* Required
POST /api/ext/companyProfiles/{companyId}
Information

Creates a new company and optionally new profiles (contacts) for the client where ID is provided by the client.


Request

Query Parameter


KeyDescription
bmAuthorization *
string
Must be "Token <appToken>" , where <appToken> can be obtained in BauMaster client or from our Support (support@bau-master.com)


Request
URI Parameter


KeyDescription
companyId *
string
ID of the company to be created. (Format: UUID v4)



Request
Body Structure

JSON object including following values:

KeyDescription
address
CompanyAddress
CompanyAddress of the company.
profiles *
Profile[ ]
Array of Profiles of the company. (If no profiles should be added, pass an empty array like [] )
name *
string
The name of the company with max. length of 255 characters.
note
string
Optional note.

CompanyAddress

KeyDescription
city
string
Name of the city with max. length of 255 characters.
country
string
Name of the country with max. length of 255 characters.
email
string
Valid email address of the profile with max. length of 255 characters.
phone
string
Valid phone number of the profile with max. length of 255 characters.
fax
string
Valid fax number of the profile with max. length of 255 characters.
street1
string
Name of the street with max. length of 255 characters.
street2
string
Additional information like street number with max. length of 255 characters.
zipCode
string
Zip code of the location with max. length of 255 characters.

ProfileAddress

KeyDescription
firstName
string
First name of profile with max. length of 255 characters.
lastName
string
Last name of the country with max. length of 255 characters.
email
string
Valid email address of the profile with max. length of 255 characters.
phone
string
Valid phone number of the profile with max. length of 255 characters.
mobile
string
Valid phone number of the profile with max. length of 255 characters.
fax
string
Valid fax number of the profile with max. length of 255 characters.


Profile

KeyDescription
address
string
ProfileAddress of the profile.
note
string
Any note to that profile.
profession
string
Profession of the profile with max. length of 255 characters.
dsgvoShowEmail *
boolean
A flag if the profile (contact) is agreeing with their email being printed on PDF records.
dsgvoShowTel *
boolean
A flag if the profile (contact) is agreeing with their phone number being printed on PDF records.
fax
string
Valid fax number of the profile with max. length of 255 characters.
street1
string
Name of the street with max. length of 255 characters.
street2
string
Additional information like street number with max. length of 255 characters.
zipCode
string
Zip code of the location with max. length of 255 characters.


Response
HTTP Status Codes


StatusDescription
200
OK
Success.

Example Value:
  1. {
    "id": "bc6b821d-ee55-4ddf-a23b-f93d6192256510",
    "changedAt": "2023-01-01T00:00:00Z",
    "address": {
    "id": "bc6b821d-ee55-4ddf-a23b-f93d6192256510",
    "changedAt": "2023-01-01T00:00:00Z",
    "city": "Las Vegas",
    "country": "US",
    "email": "john.doe@company.com",
    "phone": "01 233343434",
    "fax": "01 233343434",
    "street1": "Main road",
    "street2": "1",
    "zipCode": "88901"
    },
    "profiles": [
    {
    "id": "bc6b821d-ee55-4ddf-a23b-f93d6192256510",
    "changedAt": "2023-01-01T00:00:00Z",
    "address": {
    "id": "bc6b821d-ee55-4ddf-a23b-f93d6192256510",
    "changedAt": "2023-01-01T00:00:00Z",
    "firstName": "John",
    "lastName": "Doe",
    "email": "john.doe@company.com",
    "phone": "01 233343434",
    "mobile": "01 233343434",
    "fax": "01 233343434"
    },
    "note": "string",
    "profession": "Polier",
    "dsgvoShowEmail": true,
    "dsgvoShowTel": false
    }
    ],
    "name": "Casino LTD",
    "note": "string"
    }
401
UNAUTHORIZED
Invalid application token.
403
FORBIDDEN
Access denied regardless of authorization status.
422
UNPROCESSABLE ENTITY
Validation error.
500
INTERNAL SERVICE ERROR
Unexpected service interruption.

* Required
PUT /api/ext/companyProfiles/{companyId}
Information

Updates one company and/or profiles (contacts) by ID.


Request
Headers


NameDescription
Authorization *
string
Must be "Token <appToken>" , where <appToken> can be obtained in BauMaster client or from our Support (support@bau-master.com)


Request

URI Parameter


KeyDescription
companyId *
string
ID of the company to be updated. (Format: UUID v4)



Request
Body Structure

JSON object including following values:

KeyDescription
changedAt
string
Date (YYYY-MM-DDTHH:mm:ssZ) of when the company is updated. If provided, the value is checked against the value on the server and update fails, if it does not match.
address
CompanyAddress
CompanyAddress of the company.
profiles
Profile[ ]
Array of Profiles of the company.
name
string
The name of the company with max. length of 255 characters.
note
string
Optional note.

CompanyAddress

KeyDescription
changedAt
string
Date (YYYY-MM-DDTHH:mm:ssZ) of when the company address is updated. If provided, the value is checked against the value on the server and update fails, if it does not match.
city
string
Name of the city with max. length of 255 characters.
country
string
Name of the country with max. length of 255 characters.
email
string
Valid email address of the profile with max. length of 255 characters.
phone
string
Valid phone number of the profile with max. length of 255 characters.
fax
string
Valid fax number of the profile with max. length of 255 characters.
street1
string
Name of the street with max. length of 255 characters.
street2
string
Additional information like street number with max. length of 255 characters.
zipCode
string
Zip code of the location with max. length of 255 characters.

ProfileAddress

KeyDescription
changedAt
string
Date (YYYY-MM-DDTHH:mm:ssZ) of when the profile address is updated. If provided, the value is checked against the value on the server and update fails, if it does not match.
firstName
string
First name of profile with max. length of 255 characters.
lastName
string
Last name of the country with max. length of 255 characters.
email
string
Valid email address of the profile with max. length of 255 characters.
phone
string
Valid phone number of the profile with max. length of 255 characters.
mobile
string
Valid phone number of the profile with max. length of 255 characters.
fax
string
Valid fax number of the profile with max. length of 255 characters.


Profile

KeyDescription
changedAt
string
Date (YYYY-MM-DDTHH:mm:ssZ) of when the profile address is updated. If provided, the value is checked against the value on the server and update fails, if it does not match.
address
string
ProfileAddress of the profile.
note
string
Any note to that profile.
profession
string
Profession of the profile with max. length of 255 characters.
dsgvoShowEmail *
boolean
A flag if the profile (contact) is agreeing with their email being printed on PDF records.
dsgvoShowTel *
boolean
A flag if the profile (contact) is agreeing with their phone number being printed on PDF records.
fax
string
Valid fax number of the profile with max. length of 255 characters.
street1
string
Name of the street with max. length of 255 characters.
street2
string
Additional information like street number with max. length of 255 characters.
zipCode
string
Zip code of the location with max. length of 255 characters.


Response
HTTP Status Codes


StatusDescription
200
OK
Success.

Example Value:
  1. {
    "id": "bc6b821d-ee55-4ddf-a23b-f93d6192256510",
    "changedAt": "2023-01-01T00:00:00Z",
    "address": {
    "id": "bc6b821d-ee55-4ddf-a23b-f93d6192256510",
    "changedAt": "2023-01-01T00:00:00Z",
    "city": "Las Vegas",
    "country": "US",
    "email": "john.doe@company.com",
    "phone": "01 233343434",
    "fax": "01 233343434",
    "street1": "Main road",
    "street2": "1",
    "zipCode": "88901"
    },
    "profiles": [
    {
    "id": "bc6b821d-ee55-4ddf-a23b-f93d6192256510",
    "changedAt": "2023-01-01T00:00:00Z",
    "address": {
    "id": "bc6b821d-ee55-4ddf-a23b-f93d6192256510",
    "changedAt": "2023-01-01T00:00:00Z",
    "firstName": "John",
    "lastName": "Doe",
    "email": "john.doe@company.com",
    "phone": "01 233343434",
    "mobile": "01 233343434",
    "fax": "01 233343434"
    },
    "note": "string",
    "profession": "Polier",
    "dsgvoShowEmail": true,
    "dsgvoShowTel": false
    }
    ],
    "name": "Casino LTD",
    "note": "string"
    }
401
UNAUTHORIZED
Invalid application token.
403
FORBIDDEN
Access denied regardless of authorization status.
404
NOT FOUND
Company with id not found.
422
UNPROCESSABLE ENTITY
Validation error.
500
INTERNAL SERVICE ERROR
Unexpected service interruption.

* Required

 

Profile


Access to profiles (contacts) of companies

POST /api/ext/companyProfiles/{companyId}/profiles/
Information

Adds a new profile (contact) to a company where ID is generated by the server.


Request

Query Parameter


KeyDescription
bmAuthorization *
string
Must be "Token <appToken>" , where <appToken> can be obtained in BauMaster client or from our Support (support@bau-master.com)


Request

URI Parameter


KeyDescription
companyId *
string
ID of the company the profile should be added to.


Request
Body Structure

JSON object including following values:

KeyDescription
address
string
ProfileAddress of the profile.
note
string
Any note to that profile.
profession
string
Profession of the profile with max. length of 255 characters.
dsgvoShowEmail *
boolean
A flag if the profile (contact) is agreeing with their email being printed on PDF records.
dsgvoShowTel *
boolean
A flag if the profile (contact) is agreeing with their phone number being printed on PDF records.

ProfileAddress

KeyDescription
firstName
string
First name of profile with max. length of 255 characters.
lastName
string
Last name of the country with max. length of 255 characters.
email
string
Valid email address of the profile with max. length of 255 characters.
phone
string
Valid phone number of the profile with max. length of 255 characters.
mobile
string
Valid phone number of the profile with max. length of 255 characters.
fax
string
Valid fax number of the profile with max. length of 255 characters.


Response
HTTP Status Codes


StatusDescription
200
OK
Success.

Example Value:
  1. {
    "id": "bc6b821d-ee55-4ddf-a23b-f93d6192256510",
    "changedAt": "2023-01-01T00:00:00Z",
    "address": {
    "id": "bc6b821d-ee55-4ddf-a23b-f93d6192256510",
    "changedAt": "2023-01-01T00:00:00Z",
    "firstName": "John",
    "lastName": "Doe",
    "email": "john.doe@company.com",
    "phone": "01 233343434",
    "mobile": "01 233343434",
    "fax": "01 233343434"
    },
    "note": "string",
    "profession": "Polier",
    "dsgvoShowEmail": true,
    "dsgvoShowTel": false
    }
401
UNAUTHORIZED
Invalid application token.
403
FORBIDDEN
Access denied regardless of authorization status.
422
UNPROCESSABLE ENTITY
Validation error.
500
INTERNAL SERVICE ERROR
Unexpected service interruption.

* Required

GET /api/ext/companyProfiles/{companyId}/profiles/{profileId}
Information

Returns a profile (contact) of a company by ID.


Request

Query Parameter


KeyDescription
bmAuthorization *
string
Must be "Token <appToken>" , where <appToken> can be obtained in BauMaster client or from our Support (support@bau-master.com)


Request

URI Parameter


KeyDescription
companyId *
string
ID of the company.
profileId *
string
ID of the profile.


Response
HTTP Status Codes


StatusDescription
200
OK
Success.

Example Value:
  1. {
    "id": "bc6b821d-ee55-4ddf-a23b-f93d6192256510",
    "changedAt": "2023-01-01T00:00:00Z",
    "address": {
    "id": "bc6b821d-ee55-4ddf-a23b-f93d6192256510",
    "changedAt": "2023-01-01T00:00:00Z",
    "firstName": "John",
    "lastName": "Doe",
    "email": "john.doe@company.com",
    "phone": "01 233343434",
    "mobile": "01 233343434",
    "fax": "01 233343434"
    },
    "note": "string",
    "profession": "Polier",
    "dsgvoShowEmail": true,
    "dsgvoShowTel": false
    }
401
UNAUTHORIZED
Invalid application token.
403
FORBIDDEN
Access denied regardless of authorization status.
422
UNPROCESSABLE ENTITY
Validation error.
500
INTERNAL SERVICE ERROR
Unexpected service interruption.

* Required

POST /api/ext/companyProfiles/{companyId}/profiles/{profileId}
Information

Adds a new profile (contact) to a company where ID is provided by the client.


Request

Query Parameter


KeyDescription
bmAuthorization *
string
Must be "Token <appToken>" , where <appToken> can be obtained in BauMaster client or from our Support (support@bau-master.com)


Request

URI Parameter


KeyDescription
companyId *
string
ID of the company the profile should be added to.
profileId *
string
ID of the profile to be created. (Format: UUID v4)


Request
Body Structure

JSON object including following values:

KeyDescription
address
string
ProfileAddress of the profile.
note
string
Any note to that profile.
profession
string
Profession of the profile with max. length of 255 characters.
dsgvoShowEmail *
boolean
A flag if the profile (contact) is agreeing with their email being printed on PDF records. 
dsgvoShowTel *
boolean
A flag if the profile (contact) is agreeing with their phone number being printed on PDF records.

ProfileAddress

KeyDescription
firstName
string
First name of profile with max. length of 255 characters.
lastName
string
Last name of the country with max. length of 255 characters.
email
string
Valid email address of the profile with max. length of 255 characters.
phone
string
Valid phone number of the profile with max. length of 255 characters.
mobile
string
Valid phone number of the profile with max. length of 255 characters.
fax
string
Valid fax number of the profile with max. length of 255 characters.


Response
HTTP Status Codes


StatusDescription
200
OK
Success.

Example Value:
  1. {
    "id": "bc6b821d-ee55-4ddf-a23b-f93d6192256510",
    "changedAt": "2023-01-01T00:00:00Z",
    "address": {
    "id": "bc6b821d-ee55-4ddf-a23b-f93d6192256510",
    "changedAt": "2023-01-01T00:00:00Z",
    "firstName": "John",
    "lastName": "Doe",
    "email": "john.doe@company.com",
    "phone": "01 233343434",
    "mobile": "01 233343434",
    "fax": "01 233343434"
    },
    "note": "string",
    "profession": "Polier",
    "dsgvoShowEmail": true,
    "dsgvoShowTel": false
    }
401
UNAUTHORIZED
Invalid application token.
403
FORBIDDEN
Access denied regardless of authorization status.
422
UNPROCESSABLE ENTITY
Validation error.
500
INTERNAL SERVICE ERROR
Unexpected service interruption.

* Required

PUT /api/ext/companyProfiles/{companyId}/profiles/{profileId}
Information

Updates one profile (contact) of a company by ID.


Request

Query Parameter


KeyDescription
bmAuthorization *
string
Must be "Token <appToken>" , where <appToken> can be obtained in BauMaster client or from our Support (support@bau-master.com)


Request

URI Parameter


KeyDescription
companyId *
string
ID of the company. (Format: UUID v4)

profileId *
string
ID of the profile to be updated. (Format: UUID v4)


Request
Body Structure

JSON object including following values:

KeyDescription
changedAt
string
Date (YYYY-MM-DDTHH:mm:ssZ) of when the company address is updated. If provided, the value is checked against the value on the server and update fails, if it does not match.
address
string
ProfileAddress of the profile.
note
string
Any note to that profile.
profession
string
Profession of the profile with max. length of 255 characters.
dsgvoShowEmail *
boolean
A flag if the profile (contact) is agreeing with their email being printed on PDF records. 
dsgvoShowTel *
boolean
A flag if the profile (contact) is agreeing with their phone number being printed on PDF records.

ProfileAddress

KeyDescription
changedAt
string
Date (YYYY-MM-DDTHH:mm:ssZ) of when the profile address is updated. If provided, the value is checked against the value on the server and update fails, if it does not match.
firstName
string
First name of profile with max. length of 255 characters.
lastName
string
Last name of the country with max. length of 255 characters.
email
string
Valid email address of the profile with max. length of 255 characters.
phone
string
Valid phone number of the profile with max. length of 255 characters.
mobile
string
Valid phone number of the profile with max. length of 255 characters.
fax
string
Valid fax number of the profile with max. length of 255 characters.


Response
HTTP Status Codes


StatusDescription
200
OK
Success.

Example Value:
  1. {
    "id": "bc6b821d-ee55-4ddf-a23b-f93d6192256510",
    "changedAt": "2023-01-01T00:00:00Z",
    "address": {
    "id": "bc6b821d-ee55-4ddf-a23b-f93d6192256510",
    "changedAt": "2023-01-01T00:00:00Z",
    "firstName": "John",
    "lastName": "Doe",
    "email": "john.doe@company.com",
    "phone": "01 233343434",
    "mobile": "01 233343434",
    "fax": "01 233343434"
    },
    "note": "string",
    "profession": "Polier",
    "dsgvoShowEmail": true,
    "dsgvoShowTel": false
    }
401
UNAUTHORIZED
Invalid application token.
403
FORBIDDEN
Access denied regardless of authorization status.
404
NOT FOUND
Company with id not found.
422
UNPROCESSABLE ENTITY
Validation error.
500
INTERNAL SERVICE ERROR
Unexpected service interruption.

* Required

 

ProjectRoom


Access to project room of a project, which includes attachments, PDF records, uploaded files and more

GET /api/ext/projectRoom/{projectId}
Information

Returns the project room of one project by ID. The project room includes all attachments, PDF records, uploaded files and more. 
Warning
It returns only data not the attachments themselves. The data contains the URLs to download the attachments. The file download requires the same authentication as this API. 


Request

Query Parameter


KeyDescription
bmAuthorization *
string
Must be "Token <appToken>" , where <appToken> can be obtained in BauMaster client or from our Support (support@bau-master.com)


Request
URI Parameter


KeyDescription
projectId *
string
ID of the project to return data for.


Response
HTTP Status Codes


StatusDescription
200
OK
Success.

Example Value:
  1. {
    "id": "bc6b821d-ee55-4ddf-a23b-f93d6192256510",
    "ProjectRoom": {
    "PdfPlans": {
    "additionalProp1": {
    "additionalProp1": {
    "name": "string",
    "url": "string"
    },
    "additionalProp2": {
    "name": "string",
    "url": "string"
    },
    "additionalProp3": {
    "name": "string",
    "url": "string"
    }
    },
    "additionalProp2": {
    "additionalProp1": {
    "name": "string",
    "url": "string"
    },
    "additionalProp2": {
    "name": "string",
    "url": "string"
    },
    "additionalProp3": {
    "name": "string",
    "url": "string"
    }
    },
    "additionalProp3": {
    "additionalProp1": {
    "name": "string",
    "url": "string"
    },
    "additionalProp2": {
    "name": "string",
    "url": "string"
    },
    "additionalProp3": {
    "name": "string",
    "url": "string"
    }
    }
    },
    "ProjectImages": [
    {
    "name": "string",
    "url": "string"
    }
    ]
    },
    "Reports": {
    "PdfReports": [
    {
    "name": "string",
    "url": "string"
    }
    ],
    "Attachments": [
    {
    "name": "string",
    "url": "string"
    }
    ]
    },
    "Protocols": {
    "PdfProtocols": [
    {
    "name": "string",
    "url": "string"
    }
    ],
    "Attachments": [
    {
    "name": "string",
    "url": "string"
    }
    ]
    }
    }
401
UNAUTHORIZED
Invalid application token.
403
FORBIDDEN
Access denied regardless of authorization status.
500
INTERNAL SERVICE ERROR
Unexpected service interruption.


* Required


ProjectCosts


Retrieves a summary of all costs for a given project, aggregated from its record entries.
GET /api/ext/projectCosts/{projectId}
Information

Retrieves a summary of all costs for a given project, aggregated from its record entries.


Request

Query Parameter


KeyDescription
bmAuthorization *
string
Must be "Token <appToken>" , where <appToken> can be obtained in BauMaster client or from our Support (support@bau-master.com)


Request
URI Parameter


KeyDescription
projectId *
string
ID of the project to return data for.


Response
HTTP Status Codes


StatusDescription
200
OK
Success.

Example Value:
  1. {
    "id":
    "550e8400-e29b-41d4-a716-446655440000",
    "taxRate":
    19,
    "totalNetCosts":
    12500.00,
    "totalCosts":
    14875.00,
    "costs": [
    {
    "company":
    "Müller Bau GmbH",
    "craft":
    "Carpentry",
    "entryNumber":
    "1.1",
    "title":
    "Timber framing",
    "description":
    "Supply and installation of timber frame structure",
    "isTask":
    false,
    "netCosts":
    8000.00,
    "taxCosts":
    1520.00
    },
    {
    "company":
    "Schmidt Electric",
    "craft":
    "Electrical",
    "entryNumber":
    "2.3",
    "title":
    "Wiring",
    "description":
    null,
    "isTask":
    true,
    "netCosts":
    4500.00,
    "taxCosts":
    855.00
    }
    ]
    }
401
UNAUTHORIZED
Invalid application token.
403
FORBIDDEN
Access denied regardless of authorization status.
500
INTERNAL SERVICE ERROR
Unexpected service interruption.


* Required