CAPEX API (1.0)

Download OpenAPI specification:

The CAPEX API enables you to integrate your application with the CAPEX system. The CAPEX 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 access to the CAPEX API, please reach out to us at: [email protected].

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

The CAPEX 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.

CAPEX API Overview

The CAPEX API provides endpoints to:

  • Retrieve and manage invoices, invoice tags, and invoice documents
  • Retrieve assets, contracts, contractors, and measures

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

Asset

Get Asset Details

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

Responses

Response samples

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

Get Assets

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]=Asset name.

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
  • 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
date_created x x x

Responses

Response samples

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

Change Order

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
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
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

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"

Change order documents can be of different types such as CHANGE_ORDER_OFFER, ATTACHMENT, COVERSHEET_EXTERNAL, AUDITED_CHANGE_ORDER, INTERNAL_CORRESPONDENCE, EXTERNAL_CORRESPONDENCE, VALUATIONS, PLANS, CHANGE_ORDER, PROTOCOL and OTHER.

upload
required
string <binary> (Upload)

The file to submit. The file must be a valid PDF and must not be larger than 10 MB.

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
{}

Contract

Create Contract

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

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[id.in]=42033cf5-339b-4a52-9d2b-393f25e6d231. Those filters can be combined and multiple values are separated using commas, for example filter[id.in]=42033cf5-339b-4a52-9d2b-393f25e6d231,7d8a693e-62bc-4b63-ac6a-db66a3ba5f08&filter[contract_number.exact]=WF-2&filter[status.in]=ORDERED. Datetime attributes should be filtered by proper datetime arguments, e.g. filter[date_created.greater_than_equal]=2022-08-05T15:04:07.

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
name x x
contract_number x x
cost_center x x
status x x
contractor x x
contract_unit x x
date_created x x x
date_contract x x x
contract_type 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 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": {
    }
}

Get Contracts By Measure

Authorizations:
API KeyAPI Token
path Parameters
id
required
string <uuid> (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)

Contains links to related objects, e.g. the contract measures.

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

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"

Contract documents can be of different types such as CONTRACT and ATTACHMENT.

upload
required
string <binary> (Upload)

The file to submit. The file must be a valid PDF and must not be larger than 10 MB.

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
{}

Contracting Entity

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

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 <binary> (Upload)

The file to submit. The file must be a valid PDF and must not be larger than 10 MB.

Responses

Response samples

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

Custom Field

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": {
    }
}

Invoice

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 <binary> (File)

The file to submit. The file must be a valid PDF and must not be larger than 10 MB.

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

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"

Invoice documents can be of different types. The file which is uploaded to Alasco when a new invoice is created is of type INVOICE. All other documents which are added to the invoice in Alasco later on can be of type INVOICE, ATTACHMENT, AUDITED_INVOICE, EXTERNAL_CORRESPONDENCE, INTERNAL_CORRESPONDENCE, VALUATIONS, PLANS, REVISED_INVOICE, PAYMENT_CERTIFICATE, COVERSHEET_EXTERNAL, PROTOCOL and OTHER. If the invoice is of invoice type RETAINAGE_PAYOUT the guarantee which was used to start the payout process is added to the invoice documents with the type GUARANTEE.

upload
required
string <binary> (Upload)

The file to submit. The file must be a valid PDF and must not be larger than 10 MB.

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

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": {
    }
}

Measure

Get Measure

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

Responses

Response samples

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

Get Measures

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]=Measure name. 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
  • 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
    date_created x x x
    description x x
    status x x

Responses

Response samples

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