FinCon API (1.0)

Download OpenAPI specification:

Introduction

You can use the Alasco API to integrate your application with Alasco. The Alasco API is REST-based and follows JSON:API principles for structuring responses.

Starting from version 1.0, the API is stable. We are continuously improving our API and new endpoints will be added. Any updates or changes within this major version will be backward-compatible and can be found in this documentation.

For getting acccess to the Alasco API, please reach out to us: kontakt@alasco.de.

The base URL for all endpoints is: https://api.alasco.de/fincon/v1

The Alasco API supports compressed payloads. If you would like to make use of this, you have to specify the Accept-Encoding header. Supported encodings are gzip and br.

Domain model

The Core API objects relate as follows (each is a navigable sub-resource):

  • PropertyProjects. A Contracting Entity also groups its Projects and Contracts.
  • Contractor, Contracting Entity and Contract UnitContracts.
  • ContractChange Orders, Invoices, contract terms, Documents and Custom Fields.
  • InvoiceDocuments and Tags (Change Orders also carry Documents).
  • Cost Element Tree TemplateCost Elements, which structure a project's costs.

The Reporting API (below) exposes read-only financial roll-ups over these same objects.

Core API

The Core API is the backbone of our public API capabilities. It comprises endpoints which concern traversing structures and relationships, manipulating single objects and synchronising master data.

The Core API enables use cases such as:

  • Invoice management

  • Document exchange

  • Master data synchronisation

The Core API uses pagination. The page size is 100, additional pages can be accessed using a next link.

Reporting API

The Reporting API is tailored towards use cases like business intelligence and reporting. It comprises endpoints which provide read access to cost and revenue financials.

The Reporting API uses pagination. The page size is 1.000, additional pages can be accessed using a next link.

Budget Shift

A Budget Shift is a record of budget moved between Contract Units in a Project (or added from reserve), with a type, amount and reason. Budget shifts are read-only through this API.

Get Budget Shifts

Authorizations:
(API KeyAPI Token)
query Parameters
Cursor[Position] (string) or Cursor[Position] (null) (Cursor[Position])

List endpoint responses are paginated in the Alasco API. By calling the endpoint without the pagination parameter you will receive the first page. If not all elements fit on one page there will be a next link provided in the response's links object. By calling this link you will receive the next page.

Include (string) or Include (null) (Include)

You can get related objects by specifying them separated by comma as a GET include parameters. Currently available objects are:

  • project
  • source_contract_unit
  • target_contract_unit

e.g. include=project,source_contract_unit,target_contract_unit

Filter[Attribute.Operation] (string) or Filter[Attribute.Operation] (null) (Filter[Attribute.Operation])

You can filter on certain attributes by specifying them as a GET parameter along with an operation, e.g. filter[name.exact]=abc.

Currently supported operations are:

  • in: Expects one or multiple values
  • not_in: Expects one or multiple values

The following attributes support filtering:

Attribute in not_in
id x x
source_contract_unit x x
target_contract_unit x x
project x x

Responses

Response samples

Content type
application/json
{
  • "data": [],
  • "errors": [
    ],
  • "included": [
    ],
  • "links": {
    }
}

Change Order

A Change Order is a formal amendment to a Contract - a cost or scope change - carrying claimed and approved amounts and an approval state. Change orders can be created and progressed through the API and can hold Documents.

Get Change Order Details

Authorizations:
(API KeyAPI Token)
path Parameters
id
required
string <uuid> (Id)

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "errors": [
    ],
  • "included": [
    ],
  • "links": {
    }
}

Get Change Orders

Authorizations:
(API KeyAPI Token)
query Parameters
Cursor[Position] (string) or Cursor[Position] (null) (Cursor[Position])

List endpoint responses are paginated in the Alasco API. By calling the endpoint without the pagination parameter you will receive the first page. If not all elements fit on one page there will be a next link provided in the response's links object. By calling this link you will receive the next page.

Filter[Attribute.Operation] (string) or Filter[Attribute.Operation] (null) (Filter[Attribute.Operation])

You can filter on certain attributes by specifying them as a GET parameter along with an operation, e.g. filter[name.exact]=abc.

Currently supported operations are:

  • exact: Expects one value
  • contains: Expects one value
  • less_than_equal: Expects one value
  • greater_than_equal: Expects one value
  • range: Expects two values
  • in: Expects one or multiple values
  • not_in: Expects one or multiple values
  • is: Expects one value

The following attributes support filtering:

Attribute exact contains less_than_equal greater_than_equal range in not_in is
id x x
name x x
identifier x x
contract x x
project x x
acknowledged_at x x x
declined_at x x x
approved_amount.net x x x x
approved_amount.tax x x x x
audited_amount.net x x x x
audited_amount.tax x x x x
change_order_date x x x x
claimed_amount.net x x x x
claimed_amount.tax x x x x
state x x
basis_of_claim x x
other_basis_of_claim x x
trigger x x
other_trigger x x

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "errors": [
    ],
  • "included": [
    ],
  • "links": {
    }
}

Get Change Orders By Contract

Authorizations:
(API KeyAPI Token)
path Parameters
contract_id
required
string <uuid> (Contract Id)
query Parameters
Cursor[Position] (string) or Cursor[Position] (null) (Cursor[Position])

List endpoint responses are paginated in the Alasco API. By calling the endpoint without the pagination parameter you will receive the first page. If not all elements fit on one page there will be a next link provided in the response's links object. By calling this link you will receive the next page.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "errors": [
    ],
  • "included": [
    ],
  • "links": {
    }
}

Change Order Document

A Change Order Document is a file attached to a Change Order (for example the amendment offer or supporting evidence). You can upload and download them.

Create Change Order Document

Authorizations:
(API KeyAPI Token)
path Parameters
change_order_id
required
string <uuid> (Change Order Id)
Request Body schema: multipart/form-data
required
document_type
required
string (ChangeOrderDocumentType)
Enum: "ATTACHMENT" "AUDITED_CHANGE_ORDER" "CHANGE_ORDER" "CHANGE_ORDER_OFFER" "COVERSHEET_EXTERNAL" "EXTERNAL_CORRESPONDENCE" "INTERNAL_CORRESPONDENCE" "OTHER" "PLANS" "PROTOCOL" "VALUATIONS"

Available values / Verfügbare Werte:

Value English Deutsch
CHANGE_ORDER_OFFER Change order offer Nachtragsangebot
ATTACHMENT Attachment Anhang
COVERSHEET_EXTERNAL External coversheet Externes Deckblatt
AUDITED_CHANGE_ORDER Audited change order Nachtragsprüfung
INTERNAL_CORRESPONDENCE Internal correspondence Interne Korrespondenz
EXTERNAL_CORRESPONDENCE External correspondence Externe Korrespondenz
VALUATIONS Valuations Aufmaß
PLANS Plans Planunterlagen
CHANGE_ORDER Change order Nachtragsbeauftragung
PROTOCOL Protocol Protokoll
OTHER Other Sonstiges
upload
required
string <application/octet-stream> (Upload)

The file to submit. The file must be a valid PDF.

Responses

Response samples

Content type
application/json
{}

Download Annotated Change Order Document

Authorizations:
(API KeyAPI Token)
path Parameters
change_order_id
required
string <uuid> (Change Order Id)
document_id
required
string <uuid> (Document Id)

Responses

Response samples

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

Download Change Order Document

Authorizations:
(API KeyAPI Token)
path Parameters
change_order_id
required
string <uuid> (Change Order Id)
document_id
required
string <uuid> (Document Id)

Responses

Response samples

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

Get Change Order Document

Authorizations:
(API KeyAPI Token)
path Parameters
document_id
required
string <uuid> (Document Id)
change_order_id
required
string <uuid> (Change Order Id)

Responses

Response samples

Content type
application/json
{}

Get Change Order Documents

Authorizations:
(API KeyAPI Token)
path Parameters
change_order_id
required
string <uuid> (Change Order Id)
query Parameters
Filter[Attribute.Operation] (string) or Filter[Attribute.Operation] (null) (Filter[Attribute.Operation])

You can filter on certain attributes by specifying them as a GET parameter along with an operation, e.g. filter[name.exact]=abc.

Currently supported operations are:

  • less_than_equal: Expects one value
  • greater_than_equal: Expects one value
  • range: Expects two values
  • in: Expects one or multiple values
  • not_in: Expects one or multiple values

The following attributes support filtering:

Attribute less_than_equal greater_than_equal range in not_in
document_type x x
uploaded_at x x x

Responses

Response samples

Content type
application/json
{}

Contact

A Contact is a person or organisation used in invoicing and correspondence, with name, address and contact details. Contacts can be created and updated through the API.

Create Contact

Authorizations:
(API KeyAPI Token)
Request Body schema: application/json
required
required
object (Payload_ContactCreateAttributes_Literal_CONTACT__)

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "data": {
    },
  • "errors": [
    ],
  • "included": [
    ],
  • "links": {
    }
}

Get Contact Details

Authorizations:
(API KeyAPI Token)
path Parameters
id
required
string <uuid> (Id)

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "errors": [
    ],
  • "included": [
    ],
  • "links": {
    }
}

Get Contacts

Authorizations:
(API KeyAPI Token)
query Parameters
Cursor[Position] (string) or Cursor[Position] (null) (Cursor[Position])

List endpoint responses are paginated in the Alasco API. By calling the endpoint without the pagination parameter you will receive the first page. If not all elements fit on one page there will be a next link provided in the response's links object. By calling this link you will receive the next page.

Filter[Attribute.Operation] (string) or Filter[Attribute.Operation] (null) (Filter[Attribute.Operation])

You can filter on certain attributes by specifying them as a GET parameter along with an operation, e.g. filter[name.exact]=abc.

Currently supported operations are:

  • exact: Expects one value
  • contains: Expects one value
  • less_than_equal: Expects one value
  • greater_than_equal: Expects one value
  • range: Expects two values
  • in: Expects one or multiple values
  • not_in: Expects one or multiple values

The following attributes support filtering:

Attribute exact contains less_than_equal greater_than_equal range in not_in
id x x
type x x
salutation x x
title x x
first_name x x
last_name x x
description x x
address x x
zip_code x x
city x x
email x x
phone_number x x
date_created x x x

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "errors": [
    ],
  • "included": [
    ],
  • "links": {
    }
}

Update Contact

Authorizations:
(API KeyAPI Token)
path Parameters
id
required
string <uuid> (Id)
Request Body schema: application/json
required
required
object (Payload_ContactUpdateAttributes_Literal_CONTACT__)

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "data": {
    },
  • "errors": [
    ],
  • "included": [
    ],
  • "links": {
    }
}

Contract

A Contract is an agreement with a Contractor to deliver work. In FinCon a contract belongs to a Contract Unit (not a Measure); it accumulates Invoices and Change Orders and can carry Documents and Custom Fields. Contracts can be created and updated through the API.

Create Contract

Authorizations:
(API KeyAPI Token)
Request Body schema: application/json
required
required
object (CreateContractDataFincon)

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "data": {
    },
  • "errors": [
    ],
  • "included": [
    ],
  • "links": {
    }
}

Get Contract Details

Authorizations:
(API KeyAPI Token)
path Parameters
id
required
string <uuid> (Id)
query Parameters
Include (string) or Include (null) (Include)

You can get related objects by specifying them separated by comma as a GET include parameters. In case of non-direct relation include parameter should be a relationship path - a dot-separated list of relationship names. Currently available objects are:

  • contractor
  • contracting_entity
  • contract_unit
  • contract_unit.project
  • contract_unit.project.property

e.g. include=contractor,contracting_entity,contract_unit,contract_unit.project,contract_unit.project.property

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "errors": [
    ],
  • "included": [
    ],
  • "links": {
    }
}

Get Contract Terms

Authorizations:
(API KeyAPI Token)
path Parameters
contract_id
required
string <uuid> (Contract Id)

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "errors": [
    ],
  • "included": [
    ],
  • "links": {
    }
}

Get Contracts

Authorizations:
(API KeyAPI Token)
query Parameters
Cursor[Position] (string) or Cursor[Position] (null) (Cursor[Position])

List endpoint responses are paginated in the Alasco API. By calling the endpoint without the pagination parameter you will receive the first page. If not all elements fit on one page there will be a next link provided in the response's links object. By calling this link you will receive the next page.

Filter[Attribute.Operation] (string) or Filter[Attribute.Operation] (null) (Filter[Attribute.Operation])

You can filter on certain attributes by specifying them as a GET parameter along with an operation, e.g. filter[name.exact]=abc.

Currently supported operations are:

  • exact: Expects one value
  • contains: Expects one value
  • less_than_equal: Expects one value
  • greater_than_equal: Expects one value
  • range: Expects two values
  • in: Expects one or multiple values
  • not_in: Expects one or multiple values
  • is: Expects one value

The following attributes support filtering:

Attribute exact contains less_than_equal greater_than_equal range in not_in is
id x x
name x x
contract_number x x
cost_center x x
status x x
contracting_entity x x
contractor x x
project x x
date_created x x x
date_contract x x x x
contract_type x x
is_reverse_charge x
measure (CapEx only) x x
contract_unit (FinCon only) x x
custom_fields.<uuid> (Operation depends on custom field type) x x x x x x x x
Include (string) or Include (null) (Include)

You can get related objects by specifying them separated by comma as a GET include parameters. In case of non-direct relation include parameter should be a relationship path - a dot-separated list of relationship names. Currently available objects are:

  • contractor
  • contracting_entity
  • contract_unit
  • contract_unit.project
  • contract_unit.project.property

e.g. include=contractor,contracting_entity,contract_unit,contract_unit.project,contract_unit.project.property

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "errors": [
    ],
  • "included": [
    ],
  • "links": {
    }
}

Get Contracts By Contract Unit

Authorizations:
(API KeyAPI Token)
path Parameters
contract_unit_id
required
string <uuid> (Contract Unit Id)
query Parameters
Cursor[Position] (string) or Cursor[Position] (null) (Cursor[Position])

List endpoint responses are paginated in the Alasco API. By calling the endpoint without the pagination parameter you will receive the first page. If not all elements fit on one page there will be a next link provided in the response's links object. By calling this link you will receive the next page.

Include (string) or Include (null) (Include)

You can get related objects by specifying them separated by comma as a GET include parameters. In case of non-direct relation include parameter should be a relationship path - a dot-separated list of relationship names. Currently available objects are:

  • contractor
  • contracting_entity
  • contract_unit
  • contract_unit.project
  • contract_unit.project.property

e.g. include=contractor,contracting_entity,contract_unit,contract_unit.project,contract_unit.project.property

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "errors": [
    ],
  • "included": [
    ],
  • "links": {
    }
}

Get Contracts By Contracting Entity

Authorizations:
(API KeyAPI Token)
path Parameters
contracting_entity_id
required
string <uuid> (Contracting Entity Id)
query Parameters
Cursor[Position] (string) or Cursor[Position] (null) (Cursor[Position])

List endpoint responses are paginated in the Alasco API. By calling the endpoint without the pagination parameter you will receive the first page. If not all elements fit on one page there will be a next link provided in the response's links object. By calling this link you will receive the next page.

Include (string) or Include (null) (Include)

You can get related objects by specifying them separated by comma as a GET include parameters. In case of non-direct relation include parameter should be a relationship path - a dot-separated list of relationship names. Currently available objects are:

  • contractor
  • contracting_entity
  • contract_unit
  • contract_unit.project
  • contract_unit.project.property

e.g. include=contractor,contracting_entity,contract_unit,contract_unit.project,contract_unit.project.property

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "errors": [
    ],
  • "included": [
    ],
  • "links": {
    }
}

Get Contracts By Contractor

Authorizations:
(API KeyAPI Token)
path Parameters
contractor_id
required
string <uuid> (Contractor Id)
query Parameters
Cursor[Position] (string) or Cursor[Position] (null) (Cursor[Position])

List endpoint responses are paginated in the Alasco API. By calling the endpoint without the pagination parameter you will receive the first page. If not all elements fit on one page there will be a next link provided in the response's links object. By calling this link you will receive the next page.

Include (string) or Include (null) (Include)

You can get related objects by specifying them separated by comma as a GET include parameters. In case of non-direct relation include parameter should be a relationship path - a dot-separated list of relationship names. Currently available objects are:

  • contractor
  • contracting_entity
  • contract_unit
  • contract_unit.project
  • contract_unit.project.property

e.g. include=contractor,contracting_entity,contract_unit,contract_unit.project,contract_unit.project.property

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "errors": [
    ],
  • "included": [
    ],
  • "links": {
    }
}

Update Contract

Authorizations:
(API KeyAPI Token)
path Parameters
id
required
string <uuid> (Id)
Request Body schema: application/json
required
required
object (UpdateContractData)

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "data": {
    },
  • "errors": [
    ],
  • "included": [
    ],
  • "links": {
    }
}

Contract Document

A Contract Document is a file attached to a Contract (such as the signed contract or its terms). You can upload and download them.

Create Contract Document

Authorizations:
(API KeyAPI Token)
path Parameters
contract_id
required
string <uuid> (Contract Id)
Request Body schema: multipart/form-data
required
document_type
required
string (ContractDocumentType)
Enum: "ATTACHMENT" "CONTRACT"

Available values / Verfügbare Werte:

Value English Deutsch
CONTRACT Contract Auftrag
ATTACHMENT Attachment Anhang
upload
required
string <application/octet-stream> (Upload)

The file to submit. The file must be a valid PDF.

Responses

Response samples

Content type
application/json
{}

Download Contract Document

Authorizations:
(API KeyAPI Token)
path Parameters
contract_id
required
string <uuid> (Contract Id)
document_id
required
string <uuid> (Document Id)

Responses

Response samples

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

Get Contract Document

Authorizations:
(API KeyAPI Token)
path Parameters
document_id
required
string <uuid> (Document Id)
contract_id
required
string <uuid> (Contract Id)

Responses

Response samples

Content type
application/json
{}

Get Contract Documents

Authorizations:
(API KeyAPI Token)
path Parameters
contract_id
required
string <uuid> (Contract Id)
query Parameters
Filter[Attribute.Operation] (string) or Filter[Attribute.Operation] (null) (Filter[Attribute.Operation])

You can filter on certain attributes by specifying them as a GET parameter along with an operation, e.g. filter[name.exact]=abc.

Currently supported operations are:

  • less_than_equal: Expects one value
  • greater_than_equal: Expects one value
  • range: Expects two values
  • in: Expects one or multiple values
  • not_in: Expects one or multiple values

The following attributes support filtering:

Attribute less_than_equal greater_than_equal range in not_in
document_type x x
uploaded_at x x x

Responses

Response samples

Content type
application/json
{}

Contract Unit

A Contract Unit is a budget package within a Project (the FinCon counterpart of a CapEx Measure), carrying an initial budget and a lifecycle state. Contracts are assigned to a contract unit, and Budget Shifts move budget between units. Contract units can be created and updated through the API.

Create Contract Unit

Authorizations:
(API KeyAPI Token)
Request Body schema: application/json
required
required
object (ContractUnitCreateData)

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "data": {
    },
  • "errors": [
    ],
  • "included": [
    ],
  • "links": {
    }
}

Get Contract Unit Details

Authorizations:
(API KeyAPI Token)
path Parameters
id
required
string <uuid> (Id)

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "errors": [
    ],
  • "included": [
    ],
  • "links": {
    }
}

Get Contract Units

Authorizations:
(API KeyAPI Token)
query Parameters
Cursor[Position] (string) or Cursor[Position] (null) (Cursor[Position])

List endpoint responses are paginated in the Alasco API. By calling the endpoint without the pagination parameter you will receive the first page. If not all elements fit on one page there will be a next link provided in the response's links object. By calling this link you will receive the next page.

Filter[Attribute.Operation] (string) or Filter[Attribute.Operation] (null) (Filter[Attribute.Operation])

You can filter on certain attributes by specifying them as a GET parameter along with an operation, e.g. filter[name.exact]=abc.

Currently supported operations are:

  • exact: Expects one value
  • contains: Expects one value
  • in: Expects one or multiple values
  • not_in: Expects one or multiple values

The following attributes support filtering:

Attribute exact contains in not_in
id x x
name x x
state x x
project x x

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "errors": [
    ],
  • "included": [
    ],
  • "links": {
    }
}

Patch Contract Unit

Authorizations:
(API KeyAPI Token)
path Parameters
id
required
string <uuid> (Id)
Request Body schema: application/json
required
required
object (ContractUnitPatchData)

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "data": {
    },
  • "errors": [
    ],
  • "included": [
    ],
  • "links": {
    }
}

Contracting Entity

A Contracting Entity is the legal entity on your side that commissions contracts, with its company and commercial-register details. It can be a project's default entity and appear on many Contracts. Contracting entities can be created and updated through the API.

Create Contracting Entity

Authorizations:
(API KeyAPI Token)
Request Body schema: application/json
required
required
object (Payload_ContractingEntityCreateAttributes_Literal_CONTRACTING_ENTITY__)

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "data": {
    },
  • "errors": [
    ],
  • "included": [
    ],
  • "links": {
    }
}

Get Contracting Entities

Authorizations:
(API KeyAPI Token)
query Parameters
Cursor[Position] (string) or Cursor[Position] (null) (Cursor[Position])

List endpoint responses are paginated in the Alasco API. By calling the endpoint without the pagination parameter you will receive the first page. If not all elements fit on one page there will be a next link provided in the response's links object. By calling this link you will receive the next page.

Filter[Attribute.Operation] (string) or Filter[Attribute.Operation] (null) (Filter[Attribute.Operation])

You can filter on certain attributes by specifying them as a GET parameter along with an operation, e.g. filter[name.exact]=abc.

Currently supported operations are:

  • exact: Expects one value
  • contains: Expects one value
  • in: Expects one or multiple values
  • not_in: Expects one or multiple values

The following attributes support filtering:

Attribute exact contains in not_in
id x x
name x x
address x x
city x x
zip_code x x
tax_authority x x
tax_id x x

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "errors": [
    ],
  • "included": [
    ],
  • "links": {
    }
}

Get Contracting Entity Details

Authorizations:
(API KeyAPI Token)
path Parameters
id
required
string <uuid> (Id)

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "errors": [
    ],
  • "included": [
    ],
  • "links": {
    }
}

Update Contracting Entity

Authorizations:
(API KeyAPI Token)
path Parameters
id
required
string <uuid> (Id)
Request Body schema: application/json
required
required
object (Payload_ContractingEntityUpdateAttributes_Literal_CONTRACTING_ENTITY__)

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "data": {
    },
  • "errors": [
    ],
  • "included": [
    ],
  • "links": {
    }
}

Contractor

A Contractor is a supplier engaged to carry out work, holding master data such as its identifier, VAT ID and bank details. A contractor can hold many Contracts. Contractors can be created and updated through the API.

Create Contractor

Authorizations:
(API KeyAPI Token)
Request Body schema: application/json
required
required
object (Payload_ContractorCreateAttributes_Literal_CONTRACTOR__)

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "data": {
    },
  • "errors": [
    ],
  • "included": [
    ],
  • "links": {
    }
}

Download Tax Waiver

Authorizations:
(API KeyAPI Token)
path Parameters
id
required
string <uuid> (Id)

Responses

Response samples

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

Get Contractor Details

Authorizations:
(API KeyAPI Token)
path Parameters
id
required
string <uuid> (Id)

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "errors": [
    ],
  • "included": [
    ],
  • "links": {
    }
}

Get Contractors

Authorizations:
(API KeyAPI Token)
query Parameters
Cursor[Position] (string) or Cursor[Position] (null) (Cursor[Position])

List endpoint responses are paginated in the Alasco API. By calling the endpoint without the pagination parameter you will receive the first page. If not all elements fit on one page there will be a next link provided in the response's links object. By calling this link you will receive the next page.

Filter[Attribute.Operation] (string) or Filter[Attribute.Operation] (null) (Filter[Attribute.Operation])

You can filter on certain attributes by specifying them as a GET parameter along with an operation, e.g. filter[name.exact]=abc.

Currently supported operations are:

  • exact: Expects one value
  • contains: Expects one value
  • in: Expects one or multiple values
  • not_in: Expects one or multiple values

The following attributes support filtering:

Attribute exact contains in not_in
id x x
name x x
iban x x
bic x x
vat_id x x
contact_person_name x x
contact_person_phone_number x x
contact_person_email x x
address x x
tax_id x x
tax_authority x x
identifier x x
asset (CapEx only) x x
project (FinCon only) x x

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "errors": [
    ],
  • "included": [
    ],
  • "links": {
    }
}

Update Contractor

Authorizations:
(API KeyAPI Token)
path Parameters
id
required
string <uuid> (Id)
Request Body schema: application/json
required
required
object (Payload_ContractorUpdateAttributes_Literal_CONTRACTOR__)

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "data": {
    },
  • "errors": [
    ],
  • "included": [
    ],
  • "links": {
    }
}

Upload Tax Waiver

Authorizations:
(API KeyAPI Token)
path Parameters
id
required
string <uuid> (Id)
Request Body schema: multipart/form-data
required
upload
required
string <application/octet-stream> (Upload)

The file to submit. The file must be a valid PDF.

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "errors": [
    ],
  • "included": [
    ],
  • "links": {
    }
}

Cost Element

A Cost Element is a node in a hierarchical cost structure (a cost group) belonging to a Cost Element Tree Template. Cost elements classify a project's budget and costs and can be created and updated through the API.

Get Cost Element

Authorizations:
(API KeyAPI Token)
path Parameters
id
required
string <uuid> (Id)

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "errors": [
    ],
  • "included": [
    ],
  • "links": {
    }
}

Get Cost Elements

Authorizations:
(API KeyAPI Token)
query Parameters
Cursor[Position] (string) or Cursor[Position] (null) (Cursor[Position])

List endpoint responses are paginated in the Alasco API. By calling the endpoint without the pagination parameter you will receive the first page. If not all elements fit on one page there will be a next link provided in the response's links object. By calling this link you will receive the next page.

Filter[Attribute.Operation] (string) or Filter[Attribute.Operation] (null) (Filter[Attribute.Operation])

You can filter on certain attributes by specifying them as a GET parameter along with an operation, e.g. filter[name.exact]=abc.

Currently supported operations are:

  • exact: Expects one value
  • contains: Expects one value
  • in: Expects one or multiple values
  • not_in: Expects one or multiple values

The following attributes support filtering:

Attribute exact contains in not_in
id x x
name x x
description x x
cost_category x x
parent x x
cost_element_tree_template x x

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "errors": [
    ],
  • "included": [
    ],
  • "links": {
    }
}

Cost Element Tree Template

A Cost Element Tree Template is a reusable hierarchy of Cost Elements that defines a project's cost structure. A template can back many Projects, can be created and updated through the API, and can be deleted only when no project uses it.

Get Cost Element Tree Template

Authorizations:
(API KeyAPI Token)
path Parameters
id
required
string <uuid> (Id)

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "errors": [
    ],
  • "included": [
    ],
  • "links": {
    }
}

Get Cost Element Tree Templates

Authorizations:
(API KeyAPI Token)
query Parameters
Cursor[Position] (string) or Cursor[Position] (null) (Cursor[Position])

List endpoint responses are paginated in the Alasco API. By calling the endpoint without the pagination parameter you will receive the first page. If not all elements fit on one page there will be a next link provided in the response's links object. By calling this link you will receive the next page.

Filter[Attribute.Operation] (string) or Filter[Attribute.Operation] (null) (Filter[Attribute.Operation])

You can filter on certain attributes by specifying them as a GET parameter along with an operation, e.g. filter[name.exact]=abc.

Currently supported operations are:

  • exact: Expects one value
  • contains: Expects one value
  • less_than_equal: Expects one value
  • greater_than_equal: Expects one value
  • range: Expects two values
  • in: Expects one or multiple values
  • not_in: Expects one or multiple values

The following attributes support filtering:

Attribute exact contains less_than_equal greater_than_equal range in not_in
id x x
name x x
description x x
created_at x x x

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "errors": [
    ],
  • "included": [
    ],
  • "links": {
    }
}

Get Cost Elements By Tree Template

Authorizations:
(API KeyAPI Token)
path Parameters
id
required
string <uuid> (Id)

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "errors": [
    ],
  • "included": [
    ],
  • "links": {
    }
}

Custom Field

A Custom Field holds an account-defined value on a Contract or Project, typed by its Custom Field Definition. Custom field values can be read and updated through the API.

Get Custom Fields By Contract

Authorizations:
(API KeyAPI Token)
path Parameters
contract_id
required
string <uuid> (Contract Id)
query Parameters
Cursor[Position] (string) or Cursor[Position] (null) (Cursor[Position])

List endpoint responses are paginated in the Alasco API. By calling the endpoint without the pagination parameter you will receive the first page. If not all elements fit on one page there will be a next link provided in the response's links object. By calling this link you will receive the next page.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "errors": [
    ],
  • "included": [
    ],
  • "links": {
    }
}

Get Custom Fields By Project

Authorizations:
(API KeyAPI Token)
path Parameters
project_id
required
string <uuid> (Project Id)
query Parameters
Cursor[Position] (string) or Cursor[Position] (null) (Cursor[Position])

List endpoint responses are paginated in the Alasco API. By calling the endpoint without the pagination parameter you will receive the first page. If not all elements fit on one page there will be a next link provided in the response's links object. By calling this link you will receive the next page.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "errors": [
    ],
  • "included": [
    ],
  • "links": {
    }
}

Custom Field Definition

A Custom Field Definition describes a custom field - its name, type and which object it applies to (contract or project). Definitions are configured in Alasco and are read-only through this API.

Get Custom Field Definition Details

Authorizations:
(API KeyAPI Token)
path Parameters
id
required
string <uuid> (Id)

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "errors": [
    ],
  • "included": [
    ],
  • "links": {
    }
}

Get Custom Field Definitions

Authorizations:
(API KeyAPI Token)
query Parameters
Cursor[Position] (string) or Cursor[Position] (null) (Cursor[Position])

List endpoint responses are paginated in the Alasco API. By calling the endpoint without the pagination parameter you will receive the first page. If not all elements fit on one page there will be a next link provided in the response's links object. By calling this link you will receive the next page.

Filter[Attribute.Operation] (string) or Filter[Attribute.Operation] (null) (Filter[Attribute.Operation])

You can filter on certain attributes by specifying them as a GET parameter along with an operation, e.g. filter[name.exact]=abc.

Currently supported operations are:

  • exact: Expects one value
  • contains: Expects one value
  • in: Expects one or multiple values
  • not_in: Expects one or multiple values

The following attributes support filtering:

Attribute exact contains in not_in
id x x
name x x
description x x
export_name x x
field_type x x
unit x x
object_type x x

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "errors": [
    ],
  • "included": [
    ],
  • "links": {
    }
}

Invoice

An Invoice is a contractor's request for payment that moves through states from NEW to PAID. An invoice is submitted against a Project, starts in NEW, and must be linked to a Contract to be processed. Invoices carry audited and approved amounts, Documents and Tags, and you can register their payment.

Add Paid Invoice

Authorizations:
(API KeyAPI Token)
Request Body schema: application/json
required
required
object (AddPaidInvoiceData)

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "data": {
    },
  • "errors": [
    ],
  • "included": [
    ],
  • "links": {
    }
}

Delete Paid Invoice

Authorizations:
(API KeyAPI Token)
path Parameters
id
required
string <uuid> (Id)

Responses

Response samples

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

Get Invoice Details

Authorizations:
(API KeyAPI Token)
path Parameters
id
required
string <uuid> (Id)
query Parameters
Include (string) or Include (null) (Include)

You can get related objects by specifying them separated by comma as a GET include parameter. In case of non-direct relation include parameter should be a relationship path - a dot-separated list of relationship names. Currently available objects are:

  • contract
  • contract.contractor
  • contract.contract_unit
  • contract.contract_unit.project
  • contract.contract_unit.project.property

e.g. include=contract,contract.contractor,contract.contract_unit,contract.contract_unit.project,contract.contract_unit.project.property

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "errors": [
    ],
  • "included": [
    ],
  • "links": {
    }
}

Get Invoices

Authorizations:
(API KeyAPI Token)
query Parameters
Cursor[Position] (string) or Cursor[Position] (null) (Cursor[Position])

List endpoint responses are paginated in the Alasco API. By calling the endpoint without the pagination parameter you will receive the first page. If not all elements fit on one page there will be a next link provided in the response's links object. By calling this link you will receive the next page.

Filter[Attribute.Operation] (string) or Filter[Attribute.Operation] (null) (Filter[Attribute.Operation])

You can filter on certain attributes by specifying them as a GET parameter along with an operation, e.g. filter[internal_identifier.exact]=invoice_123. Those filters can be combined and multiple values are separated using commas, for example filter[internal_identifier.exact]=invoice123&filter[external_identifier.exact]=internal_invoice.

Currently supported operations are

  • contains: Expects one value
  • exact: Expects one value
  • greater_than_equal: Expects one value
  • in: Expects one or multiple values
  • less_than_equal: Expects one value
  • range: Expects two values
  • not_in: Expects one or multiple values

The following attributes support filtering:

Attribute exact contains less_than_equal greater_than_equal range in not_in
id x x
external_identifier x x
internal_identifier x x
date_posted x x x x
date_due x x x x
date_received x x x x
date_approved x x x
payment_created x x x
date_created x x x
invoice_type x x
invoice_process_state x x
payment_date x x x x
unaudited_amount x x x
discounted_approved_amount x x x
undiscounted_approved_amount x x x
cash_discount x x x
audited_amount x x x
tags x x
contract x x

Money attributes can be filtered on both, net and tax values. An example to filter for the net amount of unaudited_amount would be filter[unaudited_amount.net.greater_than_equal]=1000.00. Datetime attributes should be filtered by proper datetime arguments, e.g. filter[date_created.gte]=2022-08-05T15:04:07

Include (string) or Include (null) (Include)

You can get related objects by specifying them separated by comma as a GET include parameter. In case of non-direct relation include parameter should be a relationship path - a dot-separated list of relationship names. Currently available objects are:

  • contract
  • contract.contractor
  • contract.contract_unit
  • contract.contract_unit.project
  • contract.contract_unit.project.property

e.g. include=contract,contract.contractor,contract.contract_unit,contract.contract_unit.project,contract.contract_unit.project.property

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "errors": [
    ],
  • "included": [
    ],
  • "links": {
    }
}

Get Invoices By Contract

Authorizations:
(API KeyAPI Token)
path Parameters
contract_id
required
string <uuid> (Contract Id)

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "errors": [
    ],
  • "included": [
    ],
  • "links": {
    }
}

Register Payment

Authorizations:
(API KeyAPI Token)
path Parameters
id
required
string <uuid> (Id)
Request Body schema: application/json
required
required
object (InvoicePaymentData)

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "data": {
    },
  • "errors": [
    ],
  • "included": [
    ],
  • "links": {
    }
}

Submit Invoice

This endpoint supports submitting new invoices. Before using this endpoint, please reach out the the support team to make sure, everything is properly set up.

Authorizations:
(API KeyAPI Token)
path Parameters
id
required
string <uuid> (Id)
Request Body schema: multipart/form-data
required
file
required
string <application/octet-stream> (File)

The file to submit. The file must be a valid PDF.

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "errors": [
    ],
  • "included": [
    ],
  • "links": {
    }
}

Update New

This endpoint supports updating a selection of fields of invoices. To avoid inconsistencies, this is only possible for invoices in status New. Furthermore, when using two workflows steps for complete details, the invoice has to be in the first step (Optional Complete Details).

Authorizations:
(API KeyAPI Token)
path Parameters
id
required
string <uuid> (Id)
Request Body schema: application/json
required
required
object (UpdateNewInvoiceDetailsData)

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "data": {
    },
  • "errors": [
    ],
  • "included": [
    ],
  • "links": {
    }
}

Update Paid Invoice

Authorizations:
(API KeyAPI Token)
path Parameters
id
required
string <uuid> (Id)
Request Body schema: application/json
required
required
object (UpdatePaidInvoiceData)

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "data": {
    },
  • "errors": [
    ],
  • "included": [
    ],
  • "links": {
    }
}

Invoice Document

An Invoice Document is a file attached to an Invoice, such as the invoice PDF or supporting evidence. You can upload and download them.

Create Invoice Document

Authorizations:
(API KeyAPI Token)
path Parameters
invoice_id
required
string <uuid> (Invoice Id)
Request Body schema: multipart/form-data
required
document_type
required
string (InvoiceDocumentCreateType)
Enum: "ATTACHMENT" "AUDITED_INVOICE" "COVERSHEET_EXTERNAL" "EXTERNAL_CORRESPONDENCE" "INTERNAL_CORRESPONDENCE" "INVOICE" "OTHER" "PAYMENT_CERTIFICATE" "PLANS" "PROTOCOL" "REVISED_INVOICE" "VALUATIONS"

Available values / Verfügbare Werte:

Value English Deutsch
INVOICE Invoice Rechnung
ATTACHMENT Attachment Anhang
COVERSHEET_EXTERNAL External coversheet Externes Deckblatt
AUDITED_INVOICE Audited invoice Prüfrechnung
INTERNAL_CORRESPONDENCE Internal correspondence Interne Korrespondenz
EXTERNAL_CORRESPONDENCE External correspondence Externe Korrespondenz
VALUATIONS Valuations Aufmaß
PLANS Plans Planunterlagen
REVISED_INVOICE Revised invoice Korrekturrechnung
PAYMENT_CERTIFICATE Payment certificate Zahlungsnachweis
PROTOCOL Protocol Protokoll
OTHER Other Sonstiges
upload
required
string <application/octet-stream> (Upload)

The file to submit. The file must be a valid PDF.

Responses

Response samples

Content type
application/json
{}

Download Annotated Invoice Document

Authorizations:
(API KeyAPI Token)
path Parameters
invoice_id
required
string <uuid> (Invoice Id)
document_id
required
string <uuid> (Document Id)

Responses

Response samples

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

Download Invoice Document

Authorizations:
(API KeyAPI Token)
path Parameters
invoice_id
required
string <uuid> (Invoice Id)
document_id
required
string <uuid> (Document Id)

Responses

Response samples

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

Get Invoice Document

Authorizations:
(API KeyAPI Token)
path Parameters
invoice_id
required
string <uuid> (Invoice Id)
document_id
required
string <uuid> (Document Id)

Responses

Response samples

Content type
application/json
{}

Get Invoice Documents

Authorizations:
(API KeyAPI Token)
path Parameters
invoice_id
required
string <uuid> (Invoice Id)
query Parameters
Filter[Attribute.Operation] (string) or Filter[Attribute.Operation] (null) (Filter[Attribute.Operation])

You can filter on certain attributes by specifying them as a GET parameter along with an operation, e.g. filter[name.exact]=abc.

Currently supported operations are:

  • less_than_equal: Expects one value
  • greater_than_equal: Expects one value
  • range: Expects two values
  • in: Expects one or multiple values
  • not_in: Expects one or multiple values

The following attributes support filtering:

Attribute less_than_equal greater_than_equal range in not_in
document_type x x
uploaded_at x x x

Responses

Response samples

Content type
application/json
{}

Invoice Tag

An Invoice Tag is a coloured label you assign to Invoices for organisation and filtering. Tags can be created, updated and deleted, and assigned to or removed from invoices.

Assign Tag

Authorizations:
(API KeyAPI Token)
path Parameters
invoice_id
required
string <uuid> (Invoice Id)
Request Body schema: application/json
required
required
object (Payload_TagAssignAttributes_Literal_TAG__)

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "data": {
    },
  • "errors": [
    ],
  • "included": [
    ],
  • "links": {
    }
}

Create Tag

Authorizations:
(API KeyAPI Token)
Request Body schema: application/json
required
required
object (Payload_TagCreateAttributes_Literal_TAG__)

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "data": {
    },
  • "errors": [
    ],
  • "included": [
    ],
  • "links": {
    }
}

Delete Tag

Authorizations:
(API KeyAPI Token)
path Parameters
id
required
string <uuid> (Id)

Responses

Response samples

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

Get Tags

Authorizations:
(API KeyAPI Token)

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "errors": [
    ],
  • "included": [
    ],
  • "links": {
    }
}

Get Tags By Invoice

Authorizations:
(API KeyAPI Token)
path Parameters
invoice_id
required
string <uuid> (Invoice Id)

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "errors": [
    ],
  • "included": [
    ],
  • "links": {
    }
}

Unassign Tag

Authorizations:
(API KeyAPI Token)
path Parameters
invoice_id
required
string <uuid> (Invoice Id)
Request Body schema: application/json
required
required
object (Payload_TagAssignAttributes_Literal_TAG__)

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "data": {
    },
  • "errors": [
    ],
  • "included": [
    ],
  • "links": {
    }
}

Update Tag

Authorizations:
(API KeyAPI Token)
path Parameters
id
required
string <uuid> (Id)
Request Body schema: application/json
required
required
object (Payload_TagUpdateAttributes_Literal_TAG__)

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "data": {
    },
  • "errors": [
    ],
  • "included": [
    ],
  • "links": {
    }
}

Project

A Project is the top-level container for a construction or development engagement. It optionally references a Property and a Cost Element Tree Template, and organises spend through Contract Units and Contracts. Projects can be created and updated through the API.

Create Project

Authorizations:
(API KeyAPI Token)
Request Body schema: application/json
required
required
object (Payload_ProjectCreateAttributes_Literal_PROJECT__)

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "data": {
    },
  • "errors": [
    ],
  • "included": [
    ],
  • "links": {
    }
}

Get Project Details

Authorizations:
(API KeyAPI Token)
path Parameters
id
required
string <uuid> (Id)

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "errors": [
    ],
  • "included": [
    ],
  • "links": {
    }
}

Get Projects

Authorizations:
(API KeyAPI Token)
query Parameters
Cursor[Position] (string) or Cursor[Position] (null) (Cursor[Position])

List endpoint responses are paginated in the Alasco API. By calling the endpoint without the pagination parameter you will receive the first page. If not all elements fit on one page there will be a next link provided in the response's links object. By calling this link you will receive the next page.

Filter[Attribute.Operation] (string) or Filter[Attribute.Operation] (null) (Filter[Attribute.Operation])

You can filter on certain attributes by specifying them as a GET parameter along with an operation, e.g. filter[name.exact]=abc.

Currently supported operations are:

  • exact: Expects one value
  • contains: Expects one value
  • less_than_equal: Expects one value
  • greater_than_equal: Expects one value
  • range: Expects two values
  • in: Expects one or multiple values
  • not_in: Expects one or multiple values
  • is: Expects one value

The following attributes support filtering:

Attribute exact contains less_than_equal greater_than_equal range in not_in is
id x x
name x x
identifier x x
description x x
default_tax_rate x x x x
use_cost_elements x
default_contracting_entity x x
property x x
cost_element_tree_template x x
is_active x
estimated_start_date x x x x
estimated_end_date x x x x
gross_floor_area x x x x
effective_floor_area x x x x
residential_area x x x x
commercial_area x x x x
rental_area x x x x
gross_volume x x x x
commercial_usage_ratio x x x x
project_usage x x

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "errors": [
    ],
  • "included": [
    ],
  • "links": {
    }
}

Get Projects By Contracting Entity

Authorizations:
(API KeyAPI Token)
path Parameters
contracting_entity_id
required
string <uuid> (Contracting Entity Id)

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "errors": [
    ],
  • "included": [
    ],
  • "links": {
    }
}

Get Projects By Property

Authorizations:
(API KeyAPI Token)
path Parameters
property_id
required
string <uuid> (Property Id)

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "errors": [
    ],
  • "included": [
    ],
  • "links": {
    }
}

Update Project

Authorizations:
(API KeyAPI Token)
path Parameters
id
required
string <uuid> (Id)
Request Body schema: application/json
required
required
object (Payload_ProjectUpdateAttributes_Literal_PROJECT__)

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "data": {
    },
  • "errors": [
    ],
  • "included": [
    ],
  • "links": {
    }
}

Property

A Property is the real-estate asset a Project is carried out on, holding its address and location. A project references one property, and the same property can back several projects. Properties can be created and updated through the API.

Create Property

Authorizations:
(API KeyAPI Token)
Request Body schema: application/json
required
required
object (Payload_PropertyCreateAttributes_Literal_PROPERTY__)

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "data": {
    },
  • "errors": [
    ],
  • "included": [
    ],
  • "links": {
    }
}

Get Properties

Authorizations:
(API KeyAPI Token)
query Parameters
Cursor[Position] (string) or Cursor[Position] (null) (Cursor[Position])

List endpoint responses are paginated in the Alasco API. By calling the endpoint without the pagination parameter you will receive the first page. If not all elements fit on one page there will be a next link provided in the response's links object. By calling this link you will receive the next page.

Filter[Attribute.Operation] (string) or Filter[Attribute.Operation] (null) (Filter[Attribute.Operation])

You can filter on certain attributes by specifying them as a GET parameter along with an operation, e.g. filter[name.exact]=abc.

Currently supported operations are:

  • exact: Expects one value
  • contains: Expects one value
  • less_than_equal: Expects one value
  • greater_than_equal: Expects one value
  • range: Expects two values
  • in: Expects one or multiple values
  • not_in: Expects one or multiple values

The following attributes support filtering:

Attribute exact contains less_than_equal greater_than_equal range in not_in
id x x
name x x
description x x
address x x
zip_code x x
city x x
country x x
date_created x x x

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "errors": [
    ],
  • "included": [
    ],
  • "links": {
    }
}

Get Property Details

Authorizations:
(API KeyAPI Token)
path Parameters
id
required
string <uuid> (Id)

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "errors": [
    ],
  • "included": [
    ],
  • "links": {
    }
}

Update Property

Authorizations:
(API KeyAPI Token)
path Parameters
id
required
string <uuid> (Id)
Request Body schema: application/json
required
required
object (Payload_PropertyUpdateAttributes_Literal_PROPERTY__)

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "data": {
    },
  • "errors": [
    ],
  • "included": [
    ],
  • "links": {
    }
}

Cash Outflow Cost Element View

Read-only reporting view of actual cash outflows (paid invoices) allocated per Cost Element.

Get Cash Outflow Cost Element View

(BETA!) This endpoint is in a testing phase and the response payload may change. Returns cash outflow nodes for a single project in a cost element view.

Authorizations:
(API KeyAPI Token)
query Parameters
Cursor[Position] (string) or Cursor[Position] (null) (Cursor[Position])

List endpoint responses are paginated in the Alasco API. By calling the endpoint without the pagination parameter you will receive the first page. If not all elements fit on one page there will be a next link provided in the response's links object. By calling this link you will receive the next page.

Filter[Attribute.Operation] (string) or Filter[Attribute.Operation] (null) (Filter[Attribute.Operation])

You can filter on certain attributes by specifying them as a GET parameter along with an operation, e.g. filter[name.exact]=abc.

Currently supported operations are:

  • exact: Expects one value

The following attributes support filtering:

Attribute exact
project x

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "errors": [
    ],
  • "included": [
    ],
  • "links": {
    }
}

Contract Financials

Read-only reporting view with one row per Contract, summarising its amount, invoiced, approved, paid and outstanding figures.

Get Contract Financials

Authorizations:
(API KeyAPI Token)
query Parameters
Cursor[Position] (string) or Cursor[Position] (null) (Cursor[Position])

List endpoint responses are paginated in the Alasco API. By calling the endpoint without the pagination parameter you will receive the first page. If not all elements fit on one page there will be a next link provided in the response's links object. By calling this link you will receive the next page.

Filter[Attribute.Operation] (string) or Filter[Attribute.Operation] (null) (Filter[Attribute.Operation])

You can filter on certain attributes by specifying them as a GET parameter along with an operation, e.g. filter[name.exact]=abc.

Currently supported operations are:

  • in: Expects one or multiple values
  • not_in: Expects one or multiple values

The following attributes support filtering:

Attribute in not_in
project x x

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "errors": [
    ],
  • "included": [
    ],
  • "links": {
    }
}

Contract Unit Financials

Read-only reporting view with one row per Contract Unit, summarising its budget against the spend of the contracts assigned to it.

Get Contract Unit Financials

Authorizations:
(API KeyAPI Token)
query Parameters
Cursor[Position] (string) or Cursor[Position] (null) (Cursor[Position])

List endpoint responses are paginated in the Alasco API. By calling the endpoint without the pagination parameter you will receive the first page. If not all elements fit on one page there will be a next link provided in the response's links object. By calling this link you will receive the next page.

Filter[Attribute.Operation] (string) or Filter[Attribute.Operation] (null) (Filter[Attribute.Operation])

You can filter on certain attributes by specifying them as a GET parameter along with an operation, e.g. filter[name.exact]=abc.

Currently supported operations are:

  • in: Expects one or multiple values
  • not_in: Expects one or multiple values

The following attributes support filtering:

Attribute in not_in
project x x

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "errors": [
    ],
  • "included": [
    ],
  • "links": {
    }
}

Cost Element Contract Financials

Read-only reporting view breaking down each Contract's costs across the Cost Elements they are allocated to.

Get Cost Element Contract Financials

Authorizations:
(API KeyAPI Token)
query Parameters
Cursor[Position] (string) or Cursor[Position] (null) (Cursor[Position])

List endpoint responses are paginated in the Alasco API. By calling the endpoint without the pagination parameter you will receive the first page. If not all elements fit on one page there will be a next link provided in the response's links object. By calling this link you will receive the next page.

Filter[Attribute.Operation] (string) or Filter[Attribute.Operation] (null) (Filter[Attribute.Operation])

You can filter on certain attributes by specifying them as a GET parameter along with an operation, e.g. filter[name.exact]=abc.

Currently supported operations are:

  • in: Expects one or multiple values

The following attributes support filtering:

Attribute in
project x

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "errors": [
    ],
  • "included": [
    ],
  • "links": {
    }
}

Cost Element Contract Unit Financials

Read-only reporting view breaking down Contract Unit budget and spend across Cost Elements.

Get Cost Element Contract Unit Financials

Authorizations:
(API KeyAPI Token)
query Parameters
Cursor[Position] (string) or Cursor[Position] (null) (Cursor[Position])

List endpoint responses are paginated in the Alasco API. By calling the endpoint without the pagination parameter you will receive the first page. If not all elements fit on one page there will be a next link provided in the response's links object. By calling this link you will receive the next page.

Filter[Attribute.Operation] (string) or Filter[Attribute.Operation] (null) (Filter[Attribute.Operation])

You can filter on certain attributes by specifying them as a GET parameter along with an operation, e.g. filter[name.exact]=abc.

Currently supported operations are:

  • in: Expects one or multiple values

The following attributes support filtering:

Attribute in
project x

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "errors": [
    ],
  • "included": [
    ],
  • "links": {
    }
}

Cost Element Financials

Read-only reporting view of budget and cost aggregated per Cost Element within a project.

Get Cost Element Financials

Authorizations:
(API KeyAPI Token)
query Parameters
Cursor[Position] (string) or Cursor[Position] (null) (Cursor[Position])

List endpoint responses are paginated in the Alasco API. By calling the endpoint without the pagination parameter you will receive the first page. If not all elements fit on one page there will be a next link provided in the response's links object. By calling this link you will receive the next page.

Filter[Attribute.Operation] (string) or Filter[Attribute.Operation] (null) (Filter[Attribute.Operation])

You can filter on certain attributes by specifying them as a GET parameter along with an operation, e.g. filter[name.exact]=abc.

Currently supported operations are:

  • in: Expects one or multiple values

The following attributes support filtering:

Attribute in
project x

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "errors": [
    ],
  • "included": [
    ],
  • "links": {
    }
}

Outright Sale

Read-only reporting view for outright (whole-asset) sales, showing total planned revenues against recorded payments.

Get Outright Sale Details

Authorizations:
(API KeyAPI Token)
path Parameters
id
required
string <uuid> (Id)

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "errors": [
    ],
  • "included": [
    ],
  • "links": {
    }
}

Get Outright Sales

Authorizations:
(API KeyAPI Token)
query Parameters
Cursor[Position] (string) or Cursor[Position] (null) (Cursor[Position])

List endpoint responses are paginated in the Alasco API. By calling the endpoint without the pagination parameter you will receive the first page. If not all elements fit on one page there will be a next link provided in the response's links object. By calling this link you will receive the next page.

Filter[Attribute.Operation] (string) or Filter[Attribute.Operation] (null) (Filter[Attribute.Operation])

You can filter on certain attributes by specifying them as a GET parameter along with an operation, e.g. filter[name.exact]=abc.

Currently supported operations are:

  • exact: Expects one value
  • contains: Expects one value
  • less_than_equal: Expects one value
  • greater_than_equal: Expects one value
  • range: Expects two values
  • in: Expects one or multiple values
  • not_in: Expects one or multiple values
  • is: Expects one value

The following attributes support filtering:

Attribute exact contains less_than_equal greater_than_equal range in not_in is
id x x
name x x
identifier x x
total_planned_revenues.net x x x x
total_planned_revenues.tax x x x x
total_recorded_payments.net x x x x
total_recorded_payments.tax x x x x
project x x

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "errors": [
    ],
  • "included": [
    ],
  • "links": {
    }
}

Project Financials

Read-only reporting view with one row per Project, summarising budget against cost: current budget, contracted amount, change orders, approved and paid amounts, forecast and budget deviation.

Get Project Financials

Authorizations:
(API KeyAPI Token)
query Parameters
Cursor[Position] (string) or Cursor[Position] (null) (Cursor[Position])

List endpoint responses are paginated in the Alasco API. By calling the endpoint without the pagination parameter you will receive the first page. If not all elements fit on one page there will be a next link provided in the response's links object. By calling this link you will receive the next page.

Filter[Attribute.Operation] (string) or Filter[Attribute.Operation] (null) (Filter[Attribute.Operation])

You can filter on certain attributes by specifying them as a GET parameter along with an operation, e.g. filter[name.exact]=abc.

Currently supported operations are:

  • in: Expects one or multiple values
  • not_in: Expects one or multiple values

The following attributes support filtering:

Attribute in not_in
id x x

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "errors": [
    ],
  • "included": [
    ],
  • "links": {
    }
}

Rent Unit

Read-only reporting view of rental units, showing each unit's rent status and projected totals.

Get Rent Unit Details

Authorizations:
(API KeyAPI Token)
path Parameters
id
required
string <uuid> (Id)

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "errors": [
    ],
  • "included": [
    ],
  • "links": {
    }
}

Get Rent Units

Authorizations:
(API KeyAPI Token)
query Parameters
Cursor[Position] (string) or Cursor[Position] (null) (Cursor[Position])

List endpoint responses are paginated in the Alasco API. By calling the endpoint without the pagination parameter you will receive the first page. If not all elements fit on one page there will be a next link provided in the response's links object. By calling this link you will receive the next page.

Filter[Attribute.Operation] (string) or Filter[Attribute.Operation] (null) (Filter[Attribute.Operation])

You can filter on certain attributes by specifying them as a GET parameter along with an operation, e.g. filter[name.exact]=abc.

Currently supported operations are:

  • exact: Expects one value
  • contains: Expects one value
  • less_than_equal: Expects one value
  • greater_than_equal: Expects one value
  • range: Expects two values
  • in: Expects one or multiple values
  • not_in: Expects one or multiple values
  • is: Expects one value

The following attributes support filtering:

Attribute exact contains less_than_equal greater_than_equal range in not_in is
id x x
name x x
status x x
payment_start_date x x x x
payment_end_date x x x x
real_case_total.net x x x x
real_case_total.tax x x x x
recorded_payments_total x x x x
overdue_payments_total x x x x
project x x

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "errors": [
    ],
  • "included": [
    ],
  • "links": {
    }
}

Sales Unit

Read-only reporting view of sales units, showing listed and sold prices.

Get Sales Unit Details

Authorizations:
(API KeyAPI Token)
path Parameters
id
required
string <uuid> (Id)

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "errors": [
    ],
  • "included": [
    ],
  • "links": {
    }
}

Get Sales Units

Authorizations:
(API KeyAPI Token)
query Parameters
Cursor[Position] (string) or Cursor[Position] (null) (Cursor[Position])

List endpoint responses are paginated in the Alasco API. By calling the endpoint without the pagination parameter you will receive the first page. If not all elements fit on one page there will be a next link provided in the response's links object. By calling this link you will receive the next page.

Filter[Attribute.Operation] (string) or Filter[Attribute.Operation] (null) (Filter[Attribute.Operation])

You can filter on certain attributes by specifying them as a GET parameter along with an operation, e.g. filter[name.exact]=abc.

Currently supported operations are:

  • exact: Expects one value
  • contains: Expects one value
  • less_than_equal: Expects one value
  • greater_than_equal: Expects one value
  • range: Expects two values
  • in: Expects one or multiple values
  • not_in: Expects one or multiple values
  • is: Expects one value

The following attributes support filtering:

Attribute exact contains less_than_equal greater_than_equal range in not_in is
id x x
name x x
status x x
selling_date x x x x
sold_price.net x x x x
sold_price.tax x x x x
listed_price.net x x x x
listed_price.tax x x x x
project x x

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "errors": [
    ],
  • "included": [
    ],
  • "links": {
    }
}