Cadmatic Web API (v1)

Cadmatic Web API for Plant Modeller 24.3

Authorization

JWT token authentication using bearer scheme and OAuth2 are supported.

Bearer

JWT Token authorization using bearer scheme. The token must be entered as 'Bearer x', where x is the token.

Security Scheme Type: API Key
Header parameter name: Authorization

oauth2

Security Scheme Type: OAuth2
Flow type: clientCredentials
Token URL: /api/oauth/token

3D Exports

Get all model exports

Authorizations:
(Beareroauth2)
path Parameters
project
required
string

The project database ID

query Parameters
query
Array of strings

Query filters

reply
Array of strings

Reply filters

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Add a model export to the queue of exports

Note that if using a network path, then the Web API must get the path in UNC format, since it is installed as a service. Further, the service must have been installed using a domain account, otherwise the network drives will not be available to the service.

Authorizations:
(Beareroauth2)
path Parameters
project
required
string

The project database ID

query Parameters
queryId
string

COS OID of the export configuration

Request Body schema: application/json
Directory
string or null

Directory where the export is stored. If no directory is specified, then the export is stored in the data directory set for the Web API.

Responses

Request samples

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

Response samples

Content type
application/json
"497f6eca-6276-4993-bfeb-53cbbbba6f08"

Get the status of an export process

Authorizations:
(Beareroauth2)
path Parameters
project
required
string

The project database ID

exportId
required
string <uuid>

Export GUID

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "status": "Created",
  • "id": "string",
  • "href": "string"
}

Remove a queued export

If the export is in "pending" mode, then it will be removed and not run. If the export is currently running it cannot be removed.

Authorizations:
(Beareroauth2)
path Parameters
project
required
string

The project database ID

exportId
required
string <uuid>

Export GUID

Responses

Response samples

Content type
application/json
{
  • "StatusCode": 0,
  • "StatusDescription": "string",
  • "Message": "string"
}

Download a file from an export

Authorizations:
(Beareroauth2)
path Parameters
project
required
string

The project database ID

exportId
required
string <uuid>

Export GUID

file
required
string

Name of the file to download

Responses

Response samples

Content type
application/json
{
  • "StatusCode": 0,
  • "StatusDescription": "string",
  • "Message": "string"
}

Delete all the files stored for this export

Authorizations:
(Beareroauth2)
path Parameters
project
required
string

The project database ID

exportId
required
string <uuid>

Export GUID

Responses

Response samples

Content type
application/json
{
  • "StatusCode": 0,
  • "StatusDescription": "string",
  • "Message": "string"
}

Deprecated: Will be removed in 2025T1. Use DELETE api /{project}/exports/{exportId to delete an export process, instead. Deprecated

Authorizations:
(Beareroauth2)
path Parameters
project
required
string

The project database ID

exportId
required
string <uuid>

Responses

Response samples

Content type
application/json
{
  • "StatusCode": 0,
  • "StatusDescription": "string",
  • "Message": "string"
}

Read export configurations of the given type from COS

Authorizations:
(Beareroauth2)
path Parameters
project
required
string

The project database ID

query Parameters
type
required
integer <int32> (ExportType)
Enum: 0 1 2 3

The export's type. The integer values mean: 0 = JT Export 1 = IFC Export 2 = 3DDX Export 3 = eBrowser Export

query
Array of strings

Query filters

reply
Array of strings

Reply filters

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Deprecated: Will be removed in 2025T1. Use POST api/{project}/exports/{exportId} to create a new export instead. Deprecated

Authorizations:
(Beareroauth2)
path Parameters
project
required
string

The project database ID

query Parameters
queryId
string
Request Body schema: application/json
Directory
string or null

Directory where the export is stored. If no directory is specified, then the export is stored in the data directory set for the Web API.

Responses

Request samples

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

Response samples

Content type
application/json
"497f6eca-6276-4993-bfeb-53cbbbba6f08"

Deprecated: Will be removed in 2025T1. Use GET api/{project}/exports/{exportId} to get the status of an export, instead. Deprecated

Authorizations:
(Beareroauth2)
path Parameters
project
required
string

The project database ID

exportId
required
string <uuid>

Export GUID

Responses

Response samples

Content type
application/json
0
0

Deprecated: Will be removed in 2025T1. Use GET api/{project}/exports/{exportId} to list all the files for the export, instead. Deprecated

Authorizations:
(Beareroauth2)
path Parameters
exportId
required
string <uuid>

Export GUID

project
required
string

Responses

Response samples

Content type
application/json
[
  • "string"
]

3D Model Imports

Get all 3D import settings available

Authorizations:
(Beareroauth2)
path Parameters
project
required
string

The project database ID

query Parameters
query
Array of strings

Query filters

reply
Array of strings

Reply filters

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get 3D import settings with the given ID

Authorizations:
(Beareroauth2)
path Parameters
project
required
string

The project database ID

id
required
string

The COS OID of the settings

Responses

Response samples

Content type
application/json
{
  • "attributes": [
    ],
  • "oid": "string",
  • "properties": {
    },
  • "referencedObjects": [
    ],
  • "id": "string",
  • "href": "string"
}

Get all import processes

Authorizations:
(Beareroauth2)
path Parameters
project
required
string

The project database ID

query Parameters
query
Array of strings

Query filters

reply
Array of strings

Reply filters

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a new import process

This creates an import process for a new object and returns its current status. The process is created in waiting status. The process can be run from the functional endpoints under its resource location.

Authorizations:
(Beareroauth2)
path Parameters
project
required
string

The project database ID

Request Body schema: application/json
settingsOid
required
string non-empty

The import configuration used by the process.

importFile
string or null

The full path to the file to import from. The WebAPI process must be able to find the file under this location.

Responses

Request samples

Content type
application/json
{
  • "settingsOid": "string",
  • "importFile": "string"
}

Response samples

Content type
application/json
{
  • "settingsOid": "string",
  • "importFile": "string",
  • "result": {
    },
  • "status": "Created",
  • "id": "string",
  • "href": "string"
}

Get the current status of an import process

Authorizations:
(Beareroauth2)
path Parameters
project
required
string

The project database ID

processId
required
string <uuid>

GUID of the asynchronous import request

Responses

Response samples

Content type
application/json
{
  • "settingsOid": "string",
  • "importFile": "string",
  • "result": {
    },
  • "status": "Created",
  • "id": "string",
  • "href": "string"
}

Remove an import process, but keep the imported data

To delete the import process and the imported data (group and objects), use a POST request to the /delete endpoint of the process, instead.

Authorizations:
(Beareroauth2)
path Parameters
project
required
string

The project database ID

processId
required
string <uuid>

GUID of the asynchronous import request

Responses

Response samples

Content type
application/json
{
  • "settingsOid": "string",
  • "importFile": "string",
  • "result": {
    },
  • "status": "Created",
  • "id": "string",
  • "href": "string"
}

Run the import as an asynchronous process

This schedules the import to be run asynchronously. To find out if the process actually started or terminated, check its status.

Authorizations:
(Beareroauth2)
path Parameters
project
required
string

The project database ID

processId
required
string <uuid>

GUID of the asynchronous import request

Responses

Response samples

Content type
application/json
{
  • "settingsOid": "string",
  • "importFile": "string",
  • "result": {
    },
  • "status": "Created",
  • "id": "string",
  • "href": "string"
}

Mark an import for deletion

This schedules an import process, the import group and all imported objects for deletion. The actual deletion is run by the Web API as an asynchronous process as soon as possible. Import processes marked for deletion cannot be run anymore.

Authorizations:
(Beareroauth2)
path Parameters
project
required
string

The project database ID

processId
required
string <uuid>

GUID of the import process to mark for deletion

Responses

Response samples

Content type
application/json
{
  • "settingsOid": "string",
  • "importFile": "string",
  • "result": {
    },
  • "status": "Created",
  • "id": "string",
  • "href": "string"
}

Authorization

Create an access token for the given client

The token expires after 30 minutes, at that point a new token is needed.

Authorizations:
(Beareroauth2)
Request Body schema: application/json

Client with the ID and secret key.

ClientID
required
string non-empty

ID of the client. Can be found in the management tool.

ClientSecret
required
string non-empty

Client secret. Given when the client was registered.

Responses

Request samples

Content type
application/json
{
  • "ClientID": "string",
  • "ClientSecret": "string"
}

Response samples

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

Get a token using the OAuth 2.0 client-credentials grant flow

Only the client-credentials grant flow is supported as described in RFC 6749. The client ID and client secret must be sent encoded as Base64 in the request header.

The format must be following:

Authorization: Basic <EncodedIdentifier>

where EncodedIdentifier is the base-64 encoded string "client_id:client_secret".

Note that the "Try it out" feature with this endpoint will not work for getting the token. You have to use the "Authorize" button to use the OAuth 2.0 flow here on the Swagger page.

Here is an example of a CURL command that can be used to get the token using the client-credentials grant flow:

curl -X "POST\" -H \"Authorization: Basic N0M1MzA1RjJER .. KWT0=\" -d grant_type=client_credentials http://localhost:25000/api/oauth/token

Note that the Base64 encoded credentials have been shortened due to length. As response you will get an OAuth 2.0 token.

Authorizations:
(Beareroauth2)
Request Body schema: application/x-www-form-urlencoded
grant_type
string

Responses

Response samples

Content type
application/json
{
  • "access_token": "string",
  • "token_type": "string",
  • "expires_in": 0
}

Catalog Parts & Sizes

Get all catalog parts from the given database

Authorizations:
(Beareroauth2)
path Parameters
database
required
string

The project or library database ID

query Parameters
offset
integer <int32> [ 0 .. 2147483647 ]

Index of the first item to include in the reply.Indices start with zero.If the index is equal to or larger than the total number of items, an empty array is returned.This parameter and the after parameter cannot be used at the same time.

after
string = 22 characters

The OID to start reading items from, the object with this OID will not be included in the response. The OID must be given as a Base-64 encoded string. If the OID is not found, then an empty list is returned.This parameter and the offset parameter cannot be used at the same time.

limit
integer <int32> [ 0 .. 2147483647 ]

Determines how many items should be read, starting from the offset. In case no limit is given, all items following the offset are returned.In case the limit exceeds the total number of items in COS, all items following the offset are returned

query
Array of strings

Query filters

reply
Array of strings

Reply filters

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Update a single, existing catalog part

Only editable attributes are affected.

Authorizations:
(Beareroauth2)
path Parameters
database
required
string

The project or library database ID

oid
required
string

COS OID of the catalog part

Request Body schema: application/json
Array of objects (CosAttribute)

List of the COS object's attributes

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "Sizes": {
    },
  • "attributes": [
    ],
  • "oid": "string",
  • "properties": {
    },
  • "referencedObjects": [
    ],
  • "id": "string",
  • "href": "string"
}

Get a single catalog part from the database

Authorizations:
(Beareroauth2)
path Parameters
database
required
string

The project or library database ID

oid
required
string

COS OID of the catalog part

Responses

Response samples

Content type
application/json
{
  • "Sizes": {
    },
  • "attributes": [
    ],
  • "oid": "string",
  • "properties": {
    },
  • "referencedObjects": [
    ],
  • "id": "string",
  • "href": "string"
}

Get sizes belonging to a catalog part

Authorizations:
(Beareroauth2)
path Parameters
database
required
string

The project or library database ID

oid
required
string

COS OID of the catalog part

query Parameters
query
Array of strings

Query filters

reply
Array of strings

Reply filters

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get all part sizes

Get all part sizes

Authorizations:
(Beareroauth2)
path Parameters
database
required
string

The project or library database ID

query Parameters
offset
integer <int32> [ 0 .. 2147483647 ]

Index of the first item to include in the reply.Indices start with zero.If the index is equal to or larger than the total number of items, an empty array is returned.This parameter and the after parameter cannot be used at the same time.

after
string = 22 characters

The OID to start reading items from, the object with this OID will not be included in the response. The OID must be given as a Base-64 encoded string. If the OID is not found, then an empty list is returned.This parameter and the offset parameter cannot be used at the same time.

limit
integer <int32> [ 0 .. 2147483647 ]

Determines how many items should be read, starting from the offset. In case no limit is given, all items following the offset are returned.In case the limit exceeds the total number of items in COS, all items following the offset are returned

query
Array of strings

Query filters

reply
Array of strings

Reply filters

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get a single part size

Get a single part size

Authorizations:
(Beareroauth2)
path Parameters
database
required
string

The project or library database ID

oid
required
string

COS OID of the part size

Responses

Response samples

Content type
application/json
{
  • "DimensionalDescription": "string",
  • "CatalogPart": {
    },
  • "Dimensions": {
    },
  • "attributes": [
    ],
  • "oid": "string",
  • "properties": {
    },
  • "referencedObjects": [
    ],
  • "id": "string",
  • "href": "string"
}

Update a single, existing part size

Only editable attributes are affected.

Authorizations:
(Beareroauth2)
path Parameters
database
required
string

The project or library database ID

oid
required
string

COS OID of the part size

Request Body schema: application/json
Array of objects (CosAttribute)

List of the COS object's attributes

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "DimensionalDescription": "string",
  • "CatalogPart": {
    },
  • "Dimensions": {
    },
  • "attributes": [
    ],
  • "oid": "string",
  • "properties": {
    },
  • "referencedObjects": [
    ],
  • "id": "string",
  • "href": "string"
}

Get all the dimensions for a part size

Authorizations:
(Beareroauth2)
path Parameters
database
required
string

The project or library database ID

oid
required
string

COS OID of the part size

query Parameters
query
Array of strings

Query filters

reply
Array of strings

Reply filters

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Changes

Read recent changes to a database. Changes to the databases are enumerated with increasing transaction IDs.

Library and project databases track their own, independent transaction IDs. Hence, unlike for other endpoints, calls to the /changes endpoints of a project database will never implicitly query the library database.

Get the ID of the last transaction

Authorizations:
(Beareroauth2)
path Parameters
database
required
string

The project or library database ID

Responses

Response samples

Content type
application/json
0
0

Get changes since a given transaction

For each object that has been changed in the given transaction or any transaction after it, the latest object change is returned. Changes are in no defined order. This endpoint can be used to find all objects that have been changed since a given ID. Intermediate changes are not returned: If an object has been created and deleted, only the deletion is contained.

Authorizations:
(Beareroauth2)
path Parameters
database
required
string

The project or library database ID

first
required
integer <int32> [ 0 .. 2147483647 ]

First transaction to consider

query Parameters
query
Array of strings

Query filters

reply
Array of strings

Reply filters

Responses

Response samples

Content type
application/json
[
  • {
    }
]

COS

Read COS objects

The query filter must either request exactly one COS type by equality (e.g. query=properties.ObjectType="Drawing") or muliple types using set operations (e.g.query=properties.objectType in ["Drawing", "Catalog Part"]

Authorizations:
(Beareroauth2)
path Parameters
database
required
string

The project or library database ID

query Parameters
offset
integer <int32> [ 0 .. 2147483647 ]

Index of the first item to include in the reply.Indices start with zero.If the index is equal to or larger than the total number of items, an empty array is returned.This parameter and the after parameter cannot be used at the same time.

after
string = 22 characters

The OID to start reading items from, the object with this OID will not be included in the response. The OID must be given as a Base-64 encoded string. If the OID is not found, then an empty list is returned.This parameter and the offset parameter cannot be used at the same time.

limit
integer <int32> [ 0 .. 2147483647 ]

Determines how many items should be read, starting from the offset. In case no limit is given, all items following the offset are returned.In case the limit exceeds the total number of items in COS, all items following the offset are returned

query
Array of strings

Query filters

reply
Array of strings

Reply filters

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Read a COS object

Authorizations:
(Beareroauth2)
path Parameters
database
required
string

The project or library database ID

oid
required
string

COS OID of the object

Responses

Response samples

Content type
application/json
{
  • "attributes": [
    ],
  • "oid": "string",
  • "properties": {
    },
  • "referencedObjects": [
    ],
  • "id": "string",
  • "href": "string"
}

Read references to a COS object

Authorizations:
(Beareroauth2)
path Parameters
database
required
string

The project or library database ID

oid
required
string

COS OID of the object

query Parameters
query
Array of strings

Query filters

reply
Array of strings

Reply filters

Responses

Response samples

Content type
application/json
{
  • "attributes": [
    ],
  • "oid": "string",
  • "properties": {
    },
  • "referencedObjects": [
    ],
  • "id": "string",
  • "href": "string"
}

Document

Read all documents of given type

Authorizations:
(Beareroauth2)
path Parameters
project
required
string

The project database ID

query Parameters
docType
integer <int32> (DocType)
Enum: 0 1 2 3 4 5 6 7

The document's type. The integer values mean: 0 = Plant Modeller Drawing 1 = Diagram Drawing 2 = Isometric Drawing 3 = Duct Main Drawing 4 = Pipe Main Drawing 5 = Electrical Document 6 = Hull Document 7 = Piping Isometric Document. If missing, all types are considered.

query
Array of strings

Query filters

reply
Array of strings

Reply filters

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Read a single document

Authorizations:
(Beareroauth2)
path Parameters
project
required
string

The project database ID

oid
required
string

COS OID of the document

Responses

Response samples

Content type
application/json
{
  • "DocumentOID": "string",
  • "DocumentName": "string",
  • "PublicationFiles": [
    ],
  • "Attributes": [
    ],
  • "Pages": [
    ],
  • "properties": {
    }
}

List all files belonging to a publication

Authorizations:
(Beareroauth2)
path Parameters
project
required
string

The project database ID

oid
required
string

COS OID of the document

query Parameters
revision
string
Default: ""

Revision of the publication. If no revision or an empty string is given then the zero revision is returned

Responses

Response samples

Content type
application/json
[
  • "string"
]

Download a file from a publication

Authorizations:
(Beareroauth2)
path Parameters
project
required
string

The project database ID

oid
required
string

COS OID of the document

query Parameters
file
required
string

Name of file to download

revision
string
Default: ""

Revision of the publication

Responses

Response samples

Content type
application/json
{
  • "StatusCode": 0,
  • "StatusDescription": "string",
  • "Message": "string"
}

Get all non-hardwired attributes for a document type

Authorizations:
(Beareroauth2)
path Parameters
project
required
string

The project database ID

query Parameters
docType
required
integer <int32> (DocType)
Enum: 0 1 2 3 4 5 6 7

The document's type. The integer values mean: 0 = Plant Modeller Drawing 1 = Diagram Drawing 2 = Isometric Drawing 3 = Duct Main Drawing 4 = Pipe Main Drawing 5 = Electrical Document 6 = Hull Document 7 = Piping Isometric Document

query
Array of strings

Query filters

reply
Array of strings

Reply filters

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Equipment GDL

Get all equipment GDLs

Authorizations:
(Beareroauth2)
path Parameters
database
required
string

The project or library database ID

query Parameters
offset
integer <int32> [ 0 .. 2147483647 ]

Index of the first item to include in the reply.Indices start with zero.If the index is equal to or larger than the total number of items, an empty array is returned.This parameter and the after parameter cannot be used at the same time.

after
string = 22 characters

The OID to start reading items from, the object with this OID will not be included in the response. The OID must be given as a Base-64 encoded string. If the OID is not found, then an empty list is returned.This parameter and the offset parameter cannot be used at the same time.

limit
integer <int32> [ 0 .. 2147483647 ]

Determines how many items should be read, starting from the offset. In case no limit is given, all items following the offset are returned.In case the limit exceeds the total number of items in COS, all items following the offset are returned

query
Array of strings

Query filters

reply
Array of strings

Reply filters

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Update a single equipment GDL

Authorizations:
(Beareroauth2)
path Parameters
database
required
string

The project or library database ID

oid
required
string

COS OID of the equipment GDL

Request Body schema: application/json
Array of objects (CosAttribute)

List of the COS object's attributes

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "parametricModels": {
    },
  • "instanceParameters": {
    },
  • "computedParameters": {
    },
  • "parameters": {
    },
  • "attributes": [
    ],
  • "oid": "string",
  • "properties": {
    },
  • "referencedObjects": [
    ],
  • "id": "string",
  • "href": "string"
}

Get a single equipment GDL

Authorizations:
(Beareroauth2)
path Parameters
database
required
string

The project or library database ID

oid
required
string

COS OID of the equipment GDL

Responses

Response samples

Content type
application/json
{
  • "parametricModels": {
    },
  • "instanceParameters": {
    },
  • "computedParameters": {
    },
  • "parameters": {
    },
  • "attributes": [
    ],
  • "oid": "string",
  • "properties": {
    },
  • "referencedObjects": [
    ],
  • "id": "string",
  • "href": "string"
}

Get all parametric models belonging an equipment GDL

Authorizations:
(Beareroauth2)
path Parameters
database
required
string

The project or library database ID

oid
required
string

COS OID of the equipment GDL

query Parameters
query
Array of strings

Query filters

reply
Array of strings

Reply filters

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get all equipment GDL import processes

Authorizations:
(Beareroauth2)
path Parameters
database
required
string

The project or library database ID

query Parameters
query
Array of strings

Query filters

reply
Array of strings

Reply filters

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a new equipment GDL import process

This creates an import process for a new equipment GDL object and returns its current status. The process is created in waiting status. The process can be run from the functional endpoints under its resource location.

Authorizations:
(Beareroauth2)
path Parameters
database
required
string

The project or library database ID

Request Body schema: application/json
importFile
string or null

The full path to the file to import from. The Web API process must be able to find the file under this location.

Array of objects or null (CosAttribute)

List of attributes to set on the imported object.

Responses

Request samples

Content type
application/json
{
  • "importFile": "string",
  • "attributes": [
    ]
}

Response samples

Content type
application/json
{
  • "importFile": "string",
  • "attributes": [
    ],
  • "targetDatabase": "string",
  • "result": {
    },
  • "status": "Created",
  • "id": "string",
  • "href": "string"
}

Get the current status of a GDL import process

Authorizations:
(Beareroauth2)
path Parameters
database
required
string

The project or library database ID

processId
required
string <uuid>

GUID of the import process

Responses

Response samples

Content type
application/json
{
  • "importFile": "string",
  • "attributes": [
    ],
  • "targetDatabase": "string",
  • "result": {
    },
  • "status": "Created",
  • "id": "string",
  • "href": "string"
}

Remove a GDL import process, but keep the imported data

Authorizations:
(Beareroauth2)
path Parameters
database
required
string

The project or library database ID

processId
required
string <uuid>

GUID of the import process

Responses

Response samples

Content type
application/json
{
  • "importFile": "string",
  • "attributes": [
    ],
  • "targetDatabase": "string",
  • "result": {
    },
  • "status": "Created",
  • "id": "string",
  • "href": "string"
}

Run the equipment GDL import process

This schedules the import to be run and returns immediately. To find out if the process actually started or terminated, check its status.

Authorizations:
(Beareroauth2)
path Parameters
database
required
string

The project or library database ID

processId
required
string <uuid>

GUID of the import process

Responses

Response samples

Content type
application/json
{
  • "importFile": "string",
  • "attributes": [
    ],
  • "targetDatabase": "string",
  • "result": {
    },
  • "status": "Created",
  • "id": "string",
  • "href": "string"
}

External Data for Model Objects (EDMs)

Get All EDMs

Authorizations:
(Beareroauth2)
path Parameters
project
required
string

The project database ID

query Parameters
query
Array of strings

Query filters

reply
Array of strings

Reply filters

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get an EDM

Authorizations:
(Beareroauth2)
path Parameters
project
required
string

The project database ID

oid
required
string

COS OID of the EDM

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get multiple EDMs

Returns EDMs for the OIDs provided in the body

Authorizations:
(Beareroauth2)
path Parameters
project
required
string

The project database ID

Request Body schema: application/json
Array
string

Responses

Request samples

Content type
application/json
[
  • "string"
]

Response samples

Content type
application/json
[
  • {
    }
]

Create EDMs

Create EDM objects to COS

Authorizations:
(Beareroauth2)
path Parameters
project
required
string

The project database ID

Request Body schema: application/json
Array
EpdOID
string or null

OID of a possibly linked EPD object

PositionId
required
string non-empty

The EDM's position ID

ModelObject
string or null

The linked model object's OID

PositionIdType
integer <int32> (EdmPositionIdType)
Enum: 0 1 2 3

The position ID's type. The integer values mean: 0 = General Position ID 1 = Valve Position ID 2 = Instrument Position ID 3 = Equipment Position ID

ExternalId
required
string non-empty

The EDM's external ID. This ID must be unique.

InstanceParameters
string or null

Instance parameters as a string. The string should have the following format: A1 x1 A2 x2 .. An xn, + where each Ai is the name of the dimension, and each xi is the value of the dimension in it's base units. The values should be double precision floating point numbers.

System
string or null

The EDM's system, as a COS OID

Line
string or null

The EDM's line (pipe or ductline), as a COS OID

RequiresElectricity
string or null

Value of enumerated attribute "Requires electricity" as a string

ComponentModel
string or null

The EDM's component model, as a COS OID. This should be either a GDL or a parametric model.

Compartment
string or null

The EDM's compartment. Should be the name of the compartment.

CatalogPart
string or null

The EDM's catalog part. Can be used if the EDM is modelling a standard component.

Transform
Array of numbers or null <float>

The transformation for the EDM object, given as a list of 12 floating point numbers. Formatted as follows (x y z x1 x2 x3 y1 y2 y3 z1 z2 z3) where (x y z) is the origin, (x1 x2 x3) the x-direction, (y1 y2 y3) the y-direction, and (z1 z2 z3) the z-direction.

ExternalPositionIdStatus
string or null

Status of the position ID. Valid values are 'Deleted' and 'Reserved'. 'Deleted' means that the EDM has been deleted from the 3rd party system and Plant Modeller will not allow users to insert such EDMs into the model.

Array of objects or null (CosAttributeWithName)

List of the EDM's user-defined attributes

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
[
  • {
    }
]

Update EDMs by completely replacing all values

This method will erase all data of the object and replace it with the new given values, except for the COS OID

Authorizations:
(Beareroauth2)
path Parameters
project
required
string

The project database ID

Request Body schema: application/json
Array
EpdOID
string or null

OID of a possibly linked EPD object

PositionId
required
string non-empty

The EDM's position ID

ModelObject
string or null

The linked model object's OID

PositionIdType
integer <int32> (EdmPositionIdType)
Enum: 0 1 2 3

The position ID's type. The integer values mean: 0 = General Position ID 1 = Valve Position ID 2 = Instrument Position ID 3 = Equipment Position ID

ExternalId
required
string non-empty

The EDM's external ID. This ID must be unique.

InstanceParameters
string or null

Instance parameters as a string. The string should have the following format: A1 x1 A2 x2 .. An xn, + where each Ai is the name of the dimension, and each xi is the value of the dimension in it's base units. The values should be double precision floating point numbers.

System
string or null

The EDM's system, as a COS OID

Line
string or null

The EDM's line (pipe or ductline), as a COS OID

RequiresElectricity
string or null

Value of enumerated attribute "Requires electricity" as a string

ComponentModel
string or null

The EDM's component model, as a COS OID. This should be either a GDL or a parametric model.

Compartment
string or null

The EDM's compartment. Should be the name of the compartment.

CatalogPart
string or null

The EDM's catalog part. Can be used if the EDM is modelling a standard component.

Transform
Array of numbers or null <float>

The transformation for the EDM object, given as a list of 12 floating point numbers. Formatted as follows (x y z x1 x2 x3 y1 y2 y3 z1 z2 z3) where (x y z) is the origin, (x1 x2 x3) the x-direction, (y1 y2 y3) the y-direction, and (z1 z2 z3) the z-direction.

ExternalPositionIdStatus
string or null

Status of the position ID. Valid values are 'Deleted' and 'Reserved'. 'Deleted' means that the EDM has been deleted from the 3rd party system and Plant Modeller will not allow users to insert such EDMs into the model.

Array of objects or null (CosAttributeWithName)

List of the EDM's user-defined attributes

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "StatusCode": 0,
  • "StatusDescription": "string",
  • "Message": "string"
}

Update EDMs

Update objects' attributes. Does not update unspecified attributes. To remove attributes use edm/replace

Authorizations:
(Beareroauth2)
path Parameters
project
required
string

The project database ID

Request Body schema: application/json
Array
EpdOID
string or null

OID of a possibly linked EPD object

PositionId
required
string non-empty

The EDM's position ID

ModelObject
string or null

The linked model object's OID

PositionIdType
integer <int32> (EdmPositionIdType)
Enum: 0 1 2 3

The position ID's type. The integer values mean: 0 = General Position ID 1 = Valve Position ID 2 = Instrument Position ID 3 = Equipment Position ID

ExternalId
required
string non-empty

The EDM's external ID. This ID must be unique.

InstanceParameters
string or null

Instance parameters as a string. The string should have the following format: A1 x1 A2 x2 .. An xn, + where each Ai is the name of the dimension, and each xi is the value of the dimension in it's base units. The values should be double precision floating point numbers.

System
string or null

The EDM's system, as a COS OID

Line
string or null

The EDM's line (pipe or ductline), as a COS OID

RequiresElectricity
string or null

Value of enumerated attribute "Requires electricity" as a string

ComponentModel
string or null

The EDM's component model, as a COS OID. This should be either a GDL or a parametric model.

Compartment
string or null

The EDM's compartment. Should be the name of the compartment.

CatalogPart
string or null

The EDM's catalog part. Can be used if the EDM is modelling a standard component.

Transform
Array of numbers or null <float>

The transformation for the EDM object, given as a list of 12 floating point numbers. Formatted as follows (x y z x1 x2 x3 y1 y2 y3 z1 z2 z3) where (x y z) is the origin, (x1 x2 x3) the x-direction, (y1 y2 y3) the y-direction, and (z1 z2 z3) the z-direction.

ExternalPositionIdStatus
string or null

Status of the position ID. Valid values are 'Deleted' and 'Reserved'. 'Deleted' means that the EDM has been deleted from the 3rd party system and Plant Modeller will not allow users to insert such EDMs into the model.

Array of objects or null (CosAttributeWithName)

List of the EDM's user-defined attributes

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "StatusCode": 0,
  • "StatusDescription": "string",
  • "Message": "string"
}

Delete EDM objects from the project database

Authorizations:
(Beareroauth2)
path Parameters
project
required
string

The project database ID

Request Body schema: application/json
Array
string

Responses

Request samples

Content type
application/json
[
  • "string"
]

Response samples

Content type
application/json
{
  • "StatusCode": 0,
  • "StatusDescription": "string",
  • "Message": "string"
}

Get all non-hardwired attributes for EDMs

Authorizations:
(Beareroauth2)
path Parameters
project
required
string

The project database ID

query Parameters
query
Array of strings

Query filters

reply
Array of strings

Reply filters

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Externally Provided P&I Data (EPDs)

Get all EPDs

Returns all EPDs in a given COS project.

Authorizations:
(Beareroauth2)
path Parameters
project
required
string

The project database ID

query Parameters
posIdType
integer <int32> (PosIdTypes)
Enum: 0 1 2 3 4

The position ID's type. The integer values mean: 0 = Instrument Position ID 1 = Equipment Position ID 2 = Valve Position ID 3 = All 4 = Cable Position ID. Can be used to filter which EPDs are returned. If none is given then all EPDs are returned.

query
Array of strings

Query filters

reply
Array of strings

Reply filters

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get multiple EPDs

Returns EPDs for the OIDs provided in the body.

Authorizations:
(Beareroauth2)
path Parameters
project
required
string

The project database ID

Request Body schema: application/json
Array
string

Responses

Request samples

Content type
application/json
[
  • "string"
]

Response samples

Content type
application/json
[
  • {
    }
]

Create EPD equipment

Authorizations:
(Beareroauth2)
path Parameters
project
required
string

The project database ID

Request Body schema: application/json
Array
System
required
string non-empty

System for the EPD. Given as a COS oid. If the EPD is an equipment, then the system must be given. If the EPD is a valve, then the system must not be given, but instead a pipeline.

EquipmentPositionId
required
string non-empty

Position ID for the equipment

ComponentModel
string or null

Component model that can be used when insert the equipment into the model.

Transform
Array of numbers or null <float>

The transformation for the EDM object, given as a list of 12 floating point numbers. Formatted as follows (x y z x1 x2 x3 y1 y2 y3 z1 z2 z3) where (x y z) is the origin, (x1 x2 x3) the x-direction, (y1 y2 y3) the y-direction, and (z1 z2 z3) the z-direction.

OID
string or null([a-zA-Z0-9_.]){22}

OID of the EPD, used when updating. Not needed for creation.

RequiresElectricity
string or null

Value of enumerated attribute "Requires electricity" as a string

Array of objects or null (CosAttributeWithName)

List of attributes. These must have been assigned to the object type in COS.

InstanceParameters
string or null

Instance parameters as a string. The string should have the following format: A1 x1 A2 x2 .. An xn, where each Ai is the name of the dimension, and each xi is the value of the dimension in it's base units. The values should be double precision floating point numbers.

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
[
  • "string"
]

Create EPD standard components: Instruments

Authorizations:
(Beareroauth2)
path Parameters
project
required
string

The project database ID

Request Body schema: application/json
Array
InstrumentPositionId
required
string non-empty

Position ID for the instrument.

Pipeline
required
string non-empty

Pipeline for the instrument. Given as a COS oid.

System
required
string non-empty

System for the EPD. Given as a COS oid.

InstrumentTag
required
string non-empty

Reference to instrument tag COS object. Given as COS OID.

Superscript
string or null

Instrument superscript

Subscript
string or null

Instrument subscript

InstrumentLocation
string or null

A description of the instrument's location. Not a coordinate.

Function
string or null

Instrument's function

Measure
string or null

Instrument's measure

Modifier
string or null

Instrument's modifier.

NominalSizes
Array of numbers or null <float>

Instrument's nominal sizes. Only one is used by Plant Modeller.

OID
string or null([a-zA-Z0-9_.]){22}

OID of the EPD, used when updating. Not needed for creation.

RequiresElectricity
string or null

Value of enumerated attribute "Requires electricity" as a string

Array of objects or null (CosAttributeWithName)

List of attributes. These must have been assigned to the object type in COS.

InstanceParameters
string or null

Instance parameters as a string. The string should have the following format: A1 x1 A2 x2 .. An xn, where each Ai is the name of the dimension, and each xi is the value of the dimension in it's base units. The values should be double precision floating point numbers.

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
[
  • "string"
]

Create EPD standard components: Valves

Authorizations:
(Beareroauth2)
path Parameters
project
required
string

The project database ID

Request Body schema: application/json
Array
ValvePositionId
required
string non-empty

Position ID for the valve.

Pipeline
required
string non-empty

Pipeline for the valve. Given as a COS oid.

PartCode
string or null

The partcode should be a COS-OID of a catalog-part. It can be used together with the NominalSizes field to specify the size of the part.

PartId
string or null

The part ID is a reference to a catalog part size, which can be used when the part is inserted into the model. The string should be a COS OID to a catalog part size.

SpecificationOid
string or null

Oid of the specification to use, nominal size can be specified with a specification, as well as shortcode.

ShortCode
string or null

Shortcode from the specification to use, specify which category of parts to use. Mandatory if specification is used. Otherwise not needed.

NominalSizes
Array of numbers or null <float>

List of nominal sizes. Only two are currently supported by Plant Modeller, however additional sizes can be given, but only the first two will be used for valves, and only the first one for instruments.

OID
string or null([a-zA-Z0-9_.]){22}

OID of the EPD, used when updating. Not needed for creation.

RequiresElectricity
string or null

Value of enumerated attribute "Requires electricity" as a string

Array of objects or null (CosAttributeWithName)

List of attributes. These must have been assigned to the object type in COS.

InstanceParameters
string or null

Instance parameters as a string. The string should have the following format: A1 x1 A2 x2 .. An xn, where each Ai is the name of the dimension, and each xi is the value of the dimension in it's base units. The values should be double precision floating point numbers.

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
[
  • "string"
]

Create EPD standard components: Ducts

Authorizations:
(Beareroauth2)
path Parameters
project
required
string

The project database ID

Request Body schema: application/json
Array
PositionId
required
string non-empty

Position ID for the duct.

Ductline
required
string non-empty

Ductline for the duct. Given as a COS oid.

(SpecificationRule (object or null)) or (PartIdRule (object or null)) or (CatalogPartRule (object or null))

The rule for which component the duct will use

Area
number or null <float>

The minimum cross sectional area (in mm^2) which the part must satisfy when inserting it into the model

OID
string or null([a-zA-Z0-9_.]){22}

OID of the EPD, used when updating. Not needed for creation.

RequiresElectricity
string or null

Value of enumerated attribute "Requires electricity" as a string

Array of objects or null (CosAttributeWithName)

List of attributes. These must have been assigned to the object type in COS.

InstanceParameters
string or null

Instance parameters as a string. The string should have the following format: A1 x1 A2 x2 .. An xn, where each Ai is the name of the dimension, and each xi is the value of the dimension in it's base units. The values should be double precision floating point numbers.

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
[
  • "string"
]

Create EPD cables

Authorizations:
(Beareroauth2)
path Parameters
project
required
string

The project database ID

Request Body schema: application/json
Array
system
required
string or null non-empty ([a-zA-Z0-9_.]){22}

The COS-OID of the cable system to use

material
required
string non-empty ([a-zA-Z0-9_.]){22}

The COS-OID of the cable material (catalog part size) to use. The material should use the GT_PIPE geometry type, and have at least one dimension of type mass/length.

required
object (CableEquipment)

Represents an equipment attached to either the head or tail of a cable

required
object (CableEquipment)

Represents an equipment attached to either the head or tail of a cable

positionId
required
string non-empty

The cable's position ID

interferenceClassCode
integer or null <int32> [ 0 .. 2147483647 ]

The interference class code. If given, this will override the interference class specified by the cable system.

maxLength
number or null <double>

The maximum length of the cable, in millimeters

object or null

List of user-defined COS attributes. Strings and numerical values are supported.

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
[
  • "string"
]

Update EPD instruments

Only updates existing objects and cannot be used to create new instruments.

Authorizations:
(Beareroauth2)
path Parameters
project
required
string

The project database ID

Request Body schema: application/json
Array
InstrumentPositionId
required
string non-empty

Position ID for the instrument.

Pipeline
required
string non-empty

Pipeline for the instrument. Given as a COS oid.

System
required
string non-empty

System for the EPD. Given as a COS oid.

InstrumentTag
required
string non-empty

Reference to instrument tag COS object. Given as COS OID.

Superscript
string or null

Instrument superscript

Subscript
string or null

Instrument subscript

InstrumentLocation
string or null

A description of the instrument's location. Not a coordinate.

Function
string or null

Instrument's function

Measure
string or null

Instrument's measure

Modifier
string or null

Instrument's modifier.

NominalSizes
Array of numbers or null <float>

Instrument's nominal sizes. Only one is used by Plant Modeller.

OID
string or null([a-zA-Z0-9_.]){22}

OID of the EPD, used when updating. Not needed for creation.

RequiresElectricity
string or null

Value of enumerated attribute "Requires electricity" as a string

Array of objects or null (CosAttributeWithName)

List of attributes. These must have been assigned to the object type in COS.

InstanceParameters
string or null

Instance parameters as a string. The string should have the following format: A1 x1 A2 x2 .. An xn, where each Ai is the name of the dimension, and each xi is the value of the dimension in it's base units. The values should be double precision floating point numbers.

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "StatusCode": 0,
  • "StatusDescription": "string",
  • "Message": "string"
}

Update EPD valves

This endpoint requires that at least all required fields are supplied with the update, even if they are not updated.

Authorizations:
(Beareroauth2)
path Parameters
project
required
string

The project database ID

Request Body schema: application/json
Array
ValvePositionId
required
string non-empty

Position ID for the valve.

Pipeline
required
string non-empty

Pipeline for the valve. Given as a COS oid.

PartCode
string or null

The partcode should be a COS-OID of a catalog-part. It can be used together with the NominalSizes field to specify the size of the part.

PartId
string or null

The part ID is a reference to a catalog part size, which can be used when the part is inserted into the model. The string should be a COS OID to a catalog part size.

SpecificationOid
string or null

Oid of the specification to use, nominal size can be specified with a specification, as well as shortcode.

ShortCode
string or null

Shortcode from the specification to use, specify which category of parts to use. Mandatory if specification is used. Otherwise not needed.

NominalSizes
Array of numbers or null <float>

List of nominal sizes. Only two are currently supported by Plant Modeller, however additional sizes can be given, but only the first two will be used for valves, and only the first one for instruments.

OID
string or null([a-zA-Z0-9_.]){22}

OID of the EPD, used when updating. Not needed for creation.

RequiresElectricity
string or null

Value of enumerated attribute "Requires electricity" as a string

Array of objects or null (CosAttributeWithName)

List of attributes. These must have been assigned to the object type in COS.

InstanceParameters
string or null

Instance parameters as a string. The string should have the following format: A1 x1 A2 x2 .. An xn, where each Ai is the name of the dimension, and each xi is the value of the dimension in it's base units. The values should be double precision floating point numbers.

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "StatusCode": 0,
  • "StatusDescription": "string",
  • "Message": "string"
}

Update EPD equipment

This endpoint requires that at least all required fields are supplied with the update, even if they are not updated.

Authorizations:
(Beareroauth2)
path Parameters
project
required
string

The project database ID

Request Body schema: application/json
Array
System
required
string non-empty

System for the EPD. Given as a COS oid. If the EPD is an equipment, then the system must be given. If the EPD is a valve, then the system must not be given, but instead a pipeline.

EquipmentPositionId
required
string non-empty

Position ID for the equipment

ComponentModel
string or null

Component model that can be used when insert the equipment into the model.

Transform
Array of numbers or null <float>

The transformation for the EDM object, given as a list of 12 floating point numbers. Formatted as follows (x y z x1 x2 x3 y1 y2 y3 z1 z2 z3) where (x y z) is the origin, (x1 x2 x3) the x-direction, (y1 y2 y3) the y-direction, and (z1 z2 z3) the z-direction.

OID
string or null([a-zA-Z0-9_.]){22}

OID of the EPD, used when updating. Not needed for creation.

RequiresElectricity
string or null

Value of enumerated attribute "Requires electricity" as a string

Array of objects or null (CosAttributeWithName)

List of attributes. These must have been assigned to the object type in COS.

InstanceParameters
string or null

Instance parameters as a string. The string should have the following format: A1 x1 A2 x2 .. An xn, where each Ai is the name of the dimension, and each xi is the value of the dimension in it's base units. The values should be double precision floating point numbers.

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "StatusCode": 0,
  • "StatusDescription": "string",
  • "Message": "string"
}

Update EPD ducts

This endpoint requires that at least all required fields are supplied with the update, even if they are not updated. Fields can only be updated, and not removed using this endpoint.

Authorizations:
(Beareroauth2)
path Parameters
project
required
string

The project database ID

Request Body schema: application/json
Array
PositionId
required
string non-empty

Position ID for the duct.

Ductline
required
string non-empty

Ductline for the duct. Given as a COS oid.

(SpecificationRule (object or null)) or (PartIdRule (object or null)) or (CatalogPartRule (object or null))

The rule for which component the duct will use

Area
number or null <float>

The minimum cross sectional area (in mm^2) which the part must satisfy when inserting it into the model

OID
string or null([a-zA-Z0-9_.]){22}

OID of the EPD, used when updating. Not needed for creation.

RequiresElectricity
string or null

Value of enumerated attribute "Requires electricity" as a string

Array of objects or null (CosAttributeWithName)

List of attributes. These must have been assigned to the object type in COS.

InstanceParameters
string or null

Instance parameters as a string. The string should have the following format: A1 x1 A2 x2 .. An xn, where each Ai is the name of the dimension, and each xi is the value of the dimension in it's base units. The values should be double precision floating point numbers.

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "StatusCode": 0,
  • "StatusDescription": "string",
  • "Message": "string"
}

Update EPD cables

This endpoint requires that at least all required fields are supplied with the update, even if they are not updated. Fields can only be updated, and not removed using this endpoint.

Authorizations:
(Beareroauth2)
path Parameters
project
required
string

The project database ID

Request Body schema: application/json
Array
oid
required
string or null non-empty ([a-zA-Z0-9_.]){22}

The OID of the cable to update

system
required
string or null non-empty ([a-zA-Z0-9_.]){22}

The COS-OID of the cable system to use

material
required
string non-empty ([a-zA-Z0-9_.]){22}

The COS-OID of the cable material (catalog part size) to use. The material should use the GT_PIPE geometry type, and have at least one dimension of type mass/length.

required
object (CableEquipment)

Represents an equipment attached to either the head or tail of a cable

required
object (CableEquipment)

Represents an equipment attached to either the head or tail of a cable

positionId
required
string non-empty

The cable's position ID

interferenceClassCode
integer or null <int32> [ 0 .. 2147483647 ]

The interference class code. If given, this will override the interference class specified by the cable system.

maxLength
number or null <double>

The maximum length of the cable, in millimeters

object or null

List of user-defined COS attributes. Strings and numerical values are supported.

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "StatusCode": 0,
  • "StatusDescription": "string",
  • "Message": "string"
}

Delete specified EPDs

Authorizations:
(Beareroauth2)
path Parameters
project
required
string

The project database ID

query Parameters
epdOids
required
Array of strings

List of EPDs to delete, given as a query parameter

Responses

Response samples

Content type
application/json
{
  • "StatusCode": 0,
  • "StatusDescription": "string",
  • "Message": "string"
}

Groups

Read the list of all groups

Authorizations:
(Beareroauth2)
path Parameters
project
required
string

The project database ID

query Parameters
query
Array of strings

Query filters

reply
Array of strings

Reply filters

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Read a group

Authorizations:
(Beareroauth2)
path Parameters
project
required
string

The project database ID

oid
required
string

COS OID of the group

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "attributes": [
    ],
  • "oid": "string",
  • "properties": {
    },
  • "referencedObjects": [
    ],
  • "id": "string",
  • "href": "string"
}

Parametric Models

Get all parametric models

Authorizations:
(Beareroauth2)
path Parameters
database
required
string

The project or library database ID

query Parameters
offset
integer <int32> [ 0 .. 2147483647 ]

Index of the first item to include in the reply.Indices start with zero.If the index is equal to or larger than the total number of items, an empty array is returned.This parameter and the after parameter cannot be used at the same time.

after
string = 22 characters

The OID to start reading items from, the object with this OID will not be included in the response. The OID must be given as a Base-64 encoded string. If the OID is not found, then an empty list is returned.This parameter and the offset parameter cannot be used at the same time.

limit
integer <int32> [ 0 .. 2147483647 ]

Determines how many items should be read, starting from the offset. In case no limit is given, all items following the offset are returned.In case the limit exceeds the total number of items in COS, all items following the offset are returned

query
Array of strings

Query filters

reply
Array of strings

Reply filters

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get a single parametric model

Authorizations:
(Beareroauth2)
path Parameters
database
required
string

The project or library database ID

oid
required
string

COS OID of the parametric model

Responses

Response samples

Content type
application/json
{
  • "parameters": {
    },
  • "computedParameters": {
    },
  • "attributes": [
    ],
  • "oid": "string",
  • "properties": {
    },
  • "referencedObjects": [
    ],
  • "id": "string",
  • "href": "string"
}

Update a single, existing parametric model

Authorizations:
(Beareroauth2)
path Parameters
database
required
string

The project or library database ID

oid
required
string

COS OID of the parametric model

Request Body schema: application/json
Array of objects (CosAttribute)

List of the COS object's attributes

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "parameters": {
    },
  • "computedParameters": {
    },
  • "attributes": [
    ],
  • "oid": "string",
  • "properties": {
    },
  • "referencedObjects": [
    ],
  • "id": "string",
  • "href": "string"
}

Parts

Deprecated: Will be removed in 2025T1. Deprecated

If you do not provide query parameters, the method returns all attributes. Deprecated. Use the 'Catalog Parts & sizes' and GDL endpoints instead.

Authorizations:
(Beareroauth2)
path Parameters
database
required
string

The project or library database ID

query Parameters
attributes
string

Attribute tags of the attributes that the method should return, separated by ','

attributesExist
string

Returns only parts that have one of these attribute tags set. Separate multiple tags with ',' (evaluated as OR))

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Deprecated: Will be removed 2025T1. Deprecated

Deprecated. Use the 'Catalog Parts & sizes' and GDL endpoints instead.

Authorizations:
(Beareroauth2)
path Parameters
database
required
string

The project or library database ID

oid
required
string

COS oid of the part

query Parameters
attributes
string

List of tags of the attributes that should be returned, separated with ','. If empty, then all attributes are returned.

Responses

Response samples

Content type
application/json
{
  • "Type": "string",
  • "Title": "string",
  • "Status": 0,
  • "Detail": "string",
  • "Instance": "string",
  • "property1": null,
  • "property2": null
}

Deprecated: Will be removed in 2025T1. Deprecated

Deprecated. Use the 'Catalog Parts & sizes' and GDL endpoints instead.

Authorizations:
(Beareroauth2)
path Parameters
database
required
string

The project or library database ID

Request Body schema: application/json
Array
OID
required
string non-empty

The OID of the part

required
Array of objects (CosAttributeWithName)

List of COS attributes

Type
integer <int32> (PartType)
Enum: 0 1 2

Different types for parts available to query. 0 = Catalog part size 1 = GDL for Equipment 2 = Parametric Model

DimensionalDescription
string or null

Human-readable description of the dimensions

PartSizeDescription
string or null

Description of the part-size, comes from the catalog part

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
[
  • {
    }
]

Deprecated: Get all non-hardwired attributes for a given part type Deprecated

Deprecated. Use the 'Catalog Parts & sizes' and GDL endpoints instead.

Authorizations:
(Beareroauth2)
path Parameters
project
required
string

The project database ID

query Parameters
type
required
integer <int32> (PartType)
Enum: 0 1 2

Part type for which attributes are fetched

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Plant Modeller

Run a predefined model query

Authorizations:
(Beareroauth2)
path Parameters
project
required
string

The project database ID

OID
required
string

COS OID of the model query to run

query Parameters
query
Array of strings

Query filters

reply
Array of strings

Reply filters

offset
integer <int32> [ 0 .. 2147483647 ]

Index of the first item to include in the reply.Indices start with zero.If the index is equal to or larger than the total number of items, an empty array is returned.This parameter and the after parameter cannot be used at the same time.

after
string = 22 characters

The OID to start reading items from, the object with this OID will not be included in the response. The OID must be given as a Base-64 encoded string. If the OID is not found, then an empty list is returned.This parameter and the offset parameter cannot be used at the same time.

limit
integer <int32> [ 0 .. 2147483647 ]

Determines how many items should be read, starting from the offset. In case no limit is given, all items following the offset are returned.In case the limit exceeds the total number of items in COS, all items following the offset are returned

listingMode
string (ExtraMaterialListingMode)
Enum: "None" "All" "ByOwner"

Material listing mode. The default is 'None', meaning that no connection points or materials are returned.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Run a predefined model query based on the supplied Web API model query object

Filtering of attributes is made with the 3D-publishing control object.

Authorizations:
(Beareroauth2)
path Parameters
project
required
string

The project database ID

webapiModelQueryOid
required
string

COS OID of the Web API Model Query to run

query Parameters
query
Array of strings

Query filters

reply
Array of strings

Reply filters

offset
integer <int32> [ 0 .. 2147483647 ]

Index of the first item to include in the reply.Indices start with zero.If the index is equal to or larger than the total number of items, an empty array is returned.This parameter and the after parameter cannot be used at the same time.

after
string = 22 characters

The OID to start reading items from, the object with this OID will not be included in the response. The OID must be given as a Base-64 encoded string. If the OID is not found, then an empty list is returned.This parameter and the offset parameter cannot be used at the same time.

limit
integer <int32> [ 0 .. 2147483647 ]

Determines how many items should be read, starting from the offset. In case no limit is given, all items following the offset are returned.In case the limit exceeds the total number of items in COS, all items following the offset are returned

listingMode
string (ExtraMaterialListingMode)
Enum: "None" "All" "ByOwner"

Material listing mode. The default is 'None', meaning that no connection points or materials are returned.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Run a model query

Specific object types can be requested using a filter. A single type can be queried as 'type="Equipment"'. A set of typescan be queried using set operations as type in ["Equipment, StandardComponent"]

Authorizations:
(Beareroauth2)
path Parameters
project
required
string

The project database ID

query Parameters
boundingBox
string
Example: boundingBox=-1000, -1000, -1000, 1000, 1000, 1000

The bounding box used for the test. A bounding box specified by two points p1 = (xmin, ymin, zmin) and p2 = (xmax, ymax, zmax). The coordinates of p2 must be larger than or equal to the coordinates of p1. The points should be given as a string 'xmin, ymin, zmin, xmax, ymax, zmax'. If no bounding box is given, then all model objects are considered in the test.

boundingBoxMode
string (BoundingBoxMode)
Enum: "Inside" "Intersecting" "Outside"

The mode used for the bounding box test. If not given, then 'Inside' is the default mode.

pipePartSize
string (PipingUnitSize)
Enum: "Part" "Spool"

The piping unit size to use in the test. If not given, then the mode is set to 'PipingPart'

cableNetworkMode
string (CableNetworkMode)
Enum: "WholeNetwork" "AssociatedNodes"

The cable network mode used in the test. If not given, then the mode is set to 'WholeNetwork'

publishingControl
string

OID of the '3D publishing control' object to use. This object can be used to include tags which are normally not present in a model query result. This parameter is optional.

query
Array of strings

Query filters

reply
Array of strings

Reply filters

offset
integer <int32> [ 0 .. 2147483647 ]

Index of the first item to include in the reply.Indices start with zero.If the index is equal to or larger than the total number of items, an empty array is returned.This parameter and the after parameter cannot be used at the same time.

after
string = 22 characters

The OID to start reading items from, the object with this OID will not be included in the response. The OID must be given as a Base-64 encoded string. If the OID is not found, then an empty list is returned.This parameter and the offset parameter cannot be used at the same time.

limit
integer <int32> [ 0 .. 2147483647 ]

Determines how many items should be read, starting from the offset. In case no limit is given, all items following the offset are returned.In case the limit exceeds the total number of items in COS, all items following the offset are returned

listingMode
string (ExtraMaterialListingMode)
Enum: "None" "All" "ByOwner"

Material listing mode. The default is 'None', meaning that no connection points or materials are returned.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Read a single model object

Authorizations:
(Beareroauth2)
path Parameters
project
required
string

The project database ID

oid
required
string

COS OID of the model object

query Parameters
reply
Array of strings

Reply filters

Responses

Response samples

Content type
application/json
{
  • "oid": "string",
  • "attributes": {
    },
  • "connectionPoints": [
    ],
  • "insulation": {
    },
  • "type": "Equipment",
  • "id": "string",
  • "href": "string"
}

List all Web API Model Query objects, along with their attributes

Authorizations:
(Beareroauth2)
path Parameters
project
required
string

The project database ID

query Parameters
query
Array of strings

Query filters

reply
Array of strings

Reply filters

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Publication

Read all publications

Authorizations:
(Beareroauth2)
path Parameters
project
required
string

The project database ID

query Parameters
offset
integer <int32> [ 0 .. 2147483647 ]

Index of the first item to include in the reply.Indices start with zero.If the index is equal to or larger than the total number of items, an empty array is returned.This parameter and the after parameter cannot be used at the same time.

after
string = 22 characters

The OID to start reading items from, the object with this OID will not be included in the response. The OID must be given as a Base-64 encoded string. If the OID is not found, then an empty list is returned.This parameter and the offset parameter cannot be used at the same time.

limit
integer <int32> [ 0 .. 2147483647 ]

Determines how many items should be read, starting from the offset. In case no limit is given, all items following the offset are returned.In case the limit exceeds the total number of items in COS, all items following the offset are returned

query
Array of strings

Query filters

reply
Array of strings

Reply filters

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Read a single publication

Authorizations:
(Beareroauth2)
path Parameters
project
required
string

The project database ID

oid
required
string

The publication's OID

Responses

Response samples

Content type
application/json
{
  • "document": {
    },
  • "revision": "string",
  • "revisionIndex": 0,
  • "files": [
    ],
  • "childPublications": [
    ],
  • "oid": "string",
  • "properties": {
    },
  • "referencedObjects": [
    ],
  • "id": "string",
  • "href": "string"
}

Download a file from a publication

Authorizations:
(Beareroauth2)
path Parameters
project
required
string

The project database ID

oid
required
string

The publication's OID

query Parameters
file
required
string

Name of file to download

Responses

Response samples

Content type
application/json
{
  • "StatusCode": 0,
  • "StatusDescription": "string",
  • "Message": "string"
}

Quantity

Read the quantity table from COS

Authorizations:
(Beareroauth2)
path Parameters
database
required
string

The project or library database ID

Responses

Response samples

Content type
application/json
{
  • "quantities": [
    ],
  • "oid": "string",
  • "properties": {
    },
  • "referencedObjects": [
    ],
  • "id": "string",
  • "href": "string"
}

Servers

Get the list of servers

Authorizations:
(Beareroauth2)
query Parameters
query
Array of strings

Query filters

reply
Array of strings

Reply filters

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get the list of projects

Authorizations:
(Beareroauth2)
query Parameters
query
Array of strings

Query filters

reply
Array of strings

Reply filters

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get the projects in a server

Only projects configured for the Web API are returned.

Authorizations:
(Beareroauth2)
path Parameters
server
required
string

COS OID of the server

query Parameters
query
Array of strings

Query filters

reply
Array of strings

Reply filters

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Read all COS users of a server

Authorizations:
(Beareroauth2)
path Parameters
server
required
string

COS OID of the server

query Parameters
query
Array of strings

Query filters

reply
Array of strings

Reply filters

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Read a COS user

Authorizations:
(Beareroauth2)
path Parameters
server
required
string

COS OID of the server

oid
required
string

COS OID of the user

Responses

Response samples

Content type
application/json
{
  • "accountName": "string",
  • "fullName": "string",
  • "serverOid": "string",
  • "profile": {
    },
  • "id": "string",
  • "href": "string"
}

Read all COS user profiles in a server

Authorizations:
(Beareroauth2)
path Parameters
server
required
string

COS OID of the server

query Parameters
query
Array of strings

Query filters

reply
Array of strings

Reply filters

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Read a COS user profile

Authorizations:
(Beareroauth2)
path Parameters
server
required
string

COS OID of the server

id
required
integer <int32> [ 0 .. 2147483647 ]

ID of the profile

Responses

Response samples

Content type
application/json
{
  • "name": "string",
  • "id": "string",
  • "href": "string"
}

Specifications

List all specifications (piping, cable tray, and ducting)

Authorizations:
(Beareroauth2)
path Parameters
database
required
string

The project or library database ID

query Parameters
query
Array of strings

Query filters

reply
Array of strings

Reply filters

Responses

Response samples

Content type
application/json
[
  • {
    }
]

List all part sizes along with their functional description in a specification

Authorizations:
(Beareroauth2)
path Parameters
database
required
string

The project or library database ID

query Parameters
specOid
required
string

COS OID of the specification

query
Array of strings

Query filters

reply
Array of strings

Reply filters

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Status

Get the status of all internal connectors

Authorizations:
(Beareroauth2)
query Parameters
query
Array of strings

Query filters

reply
Array of strings

Reply filters

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get the status of the internal connectors for a database

Authorizations:
(Beareroauth2)
path Parameters
database
required
string

The project or library database ID

Responses

Response samples

Content type
application/json
{
  • "connectionStatus": "Starting",
  • "errorMessage": "string"
}

Get the Web API version string

Authorizations:
(Beareroauth2)

Responses

Response samples

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

Structural GDL

Get all structural GDLs

Authorizations:
(Beareroauth2)
path Parameters
database
required
string

The project or library database ID

query Parameters
offset
integer <int32> [ 0 .. 2147483647 ]

Index of the first item to include in the reply.Indices start with zero.If the index is equal to or larger than the total number of items, an empty array is returned.This parameter and the after parameter cannot be used at the same time.

after
string = 22 characters

The OID to start reading items from, the object with this OID will not be included in the response. The OID must be given as a Base-64 encoded string. If the OID is not found, then an empty list is returned.This parameter and the offset parameter cannot be used at the same time.

limit
integer <int32> [ 0 .. 2147483647 ]

Determines how many items should be read, starting from the offset. In case no limit is given, all items following the offset are returned.In case the limit exceeds the total number of items in COS, all items following the offset are returned

query
Array of strings

Query filters

reply
Array of strings

Reply filters

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get a single structural GDL

Authorizations:
(Beareroauth2)
path Parameters
database
required
string

The project or library database ID

oid
required
string

COS OID of the structural GDL

Responses

Response samples

Content type
application/json
{
  • "parametricModels": {
    },
  • "instanceParameters": {
    },
  • "computedParameters": {
    },
  • "parameters": {
    },
  • "attributes": [
    ],
  • "oid": "string",
  • "properties": {
    },
  • "referencedObjects": [
    ],
  • "id": "string",
  • "href": "string"
}

Update a single, existing structural GDL model

Authorizations:
(Beareroauth2)
path Parameters
database
required
string

The project or library database ID

oid
required
string

COS OID of the structural GDL

Request Body schema: application/json
Array of objects (CosAttribute)

List of the COS object's attributes

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "parametricModels": {
    },
  • "instanceParameters": {
    },
  • "computedParameters": {
    },
  • "parameters": {
    },
  • "attributes": [
    ],
  • "oid": "string",
  • "properties": {
    },
  • "referencedObjects": [
    ],
  • "id": "string",
  • "href": "string"
}

Get parametric models belonging to a structural GDL

Authorizations:
(Beareroauth2)
path Parameters
database
required
string

The project or library database ID

oid
required
string

COS OID of the structural GDL

query Parameters
query
Array of strings

Query filters

reply
Array of strings

Reply filters

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get all structural GDL import processes

Authorizations:
(Beareroauth2)
path Parameters
database
required
string

The project or library database ID

query Parameters
query
Array of strings

Query filters

reply
Array of strings

Reply filters

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a new structural GDL import process

This creates an import process for a new structural GDL object and returns its current status. The process is created in waiting status. The process can be run from the functional endpoints under its resource location.

Authorizations:
(Beareroauth2)
path Parameters
database
required
string

The project or library database ID

Request Body schema: application/json
importFile
string or null

The full path to the file to import from. The Web API process must be able to find the file under this location.

Array of objects or null (CosAttribute)

List of attributes to set on the imported object.

Responses

Request samples

Content type
application/json
{
  • "importFile": "string",
  • "attributes": [
    ]
}

Response samples

Content type
application/json
{
  • "importFile": "string",
  • "attributes": [
    ],
  • "targetDatabase": "string",
  • "result": {
    },
  • "status": "Created",
  • "id": "string",
  • "href": "string"
}

Get the current status of a structural GDL import process

Authorizations:
(Beareroauth2)
path Parameters
database
required
string

The project or library database ID

processId
required
string <uuid>

GUID of the structural GDL import

Responses

Response samples

Content type
application/json
{
  • "importFile": "string",
  • "attributes": [
    ],
  • "targetDatabase": "string",
  • "result": {
    },
  • "status": "Created",
  • "id": "string",
  • "href": "string"
}

Remove a GDL import process, but keep the imported data

Authorizations:
(Beareroauth2)
path Parameters
database
required
string

The project or library database ID

processId
required
string <uuid>

GUID of the structural GDL import

Responses

Response samples

Content type
application/json
{
  • "importFile": "string",
  • "attributes": [
    ],
  • "targetDatabase": "string",
  • "result": {
    },
  • "status": "Created",
  • "id": "string",
  • "href": "string"
}

Run a structural GDL import process

This schedules the import to be run asynchronously. To find out if the process actually started or terminated, check its status.

Authorizations:
(Beareroauth2)
path Parameters
database
required
string

The project or library database ID

processId
required
string <uuid>

GUID of the structural GDL import

Responses

Response samples

Content type
application/json
{
  • "importFile": "string",
  • "attributes": [
    ],
  • "targetDatabase": "string",
  • "result": {
    },
  • "status": "Created",
  • "id": "string",
  • "href": "string"
}

Systems and Pipelines

List all systems

Authorizations:
(Beareroauth2)
path Parameters
project
required
string

The project database ID

query Parameters
query
Array of strings

Query filters

reply
Array of strings

Reply filters

Responses

Response samples

Content type
application/json
[
  • {
    }
]

List all pipelines

Authorizations:
(Beareroauth2)
path Parameters
project
required
string

The project database ID

query Parameters
query
Array of strings

Query filters

reply
Array of strings

Reply filters

Responses

Response samples

Content type
application/json
[
  • {
    }
]