Remberg assets API
The assets API from Remberg — 5 operation(s) for assets.
The assets API from Remberg — 5 operation(s) for assets.
openapi: 3.0.0
info:
title: AI ai-chat assets API
description: The remberg AI API description
version: v1
contact: {}
servers:
- url: https://api.remberg.de
tags:
- name: assets
paths:
/v2/assets:
get:
description: Returns a paginated list of assets the caller has access to. Supports filtering and sorting via query parameters.
operationId: /v2/assets_get
parameters:
- name: page
required: false
in: query
description: Page number.
schema:
type: number
- name: limit
required: false
in: query
description: Define how many items will be received in the payload per request.(default 20 items, max 1000 items)
schema:
type: number
- name: organizationNumber
required: false
in: query
description: Filter by specifying a related organization number.
schema:
type: string
- name: parentAssetNumber
required: false
in: query
description: Filter by specifying the related parent asset number (only direct children are fetched).
schema:
type: string
- name: assetTypeLabel
required: false
in: query
description: Filter by specifying the asset type label.
schema:
type: string
- name: sortDirection
required: false
in: query
description: Sort direction.
schema:
type: string
enum:
- asc
- desc
- name: sortField
required: false
in: query
description: 'Sort field (default: assetNumber)'
schema:
type: string
enum:
- assetNumber
- createdAt
- updatedAt
- name: createdAtFrom
required: false
in: query
description: Filter by createdAt date FROM the provided value as an ISO UTC string. Inclusive.
schema:
format: date-time
type: string
- name: createdAtUntil
required: false
in: query
description: Filter by createdAt date UNTIL the provided value as an ISO UTC string. Inclusive.
schema:
format: date-time
type: string
- name: updatedAtFrom
required: false
in: query
description: Filter by updatedAt date FROM the provided value as an ISO UTC string. Inclusive.
schema:
format: date-time
type: string
- name: updatedAtUntil
required: false
in: query
description: Filter by updatedAt date UNTIL the provided value as an ISO UTC string. Inclusive.
schema:
format: date-time
type: string
responses:
'200':
description: List of Assets objects
content:
application/json:
schema:
$ref: '#/components/schemas/AssetsCfaFindManyResponseDto'
'400':
description: Bad Request
'403':
description: Forbidden
security:
- authorization: []
summary: Get a list of assets
tags:
- assets
x-controller-class: AssetsCfaController
post:
description: Creates a new asset with the provided properties. Returns the ID of the newly created asset. Responds with 409 if an asset with the same number already exists.
operationId: /v2/assets_post
parameters: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AssetCfaCreateOneBodyDto'
responses:
'201':
description: Resource created
content:
application/json:
schema:
$ref: '#/components/schemas/AssetsCfaCreateOneResponseDto'
'400':
description: Bad Request
'403':
description: Forbidden
'409':
description: Duplicate asset number
security:
- authorization: []
summary: Create a new Asset
tags:
- assets
x-controller-class: AssetsCfaController
/v2/assets/{id}:
get:
description: Returns a single asset identified by its internal ID. Supports optional population of related resources via query parameters.
operationId: /v2/assets/{id}_get
parameters:
- name: id
required: true
in: path
description: The asset's internal ID
schema:
type: string
- name: associations
required: false
in: query
description: Define which associations should be included in the response.
schema:
type: array
items:
type: string
enum:
- parentAsset
- assignedPerson
- relatedOrganizations
- relatedContacts
- customProperties
responses:
'200':
description: Asset retrieved
content:
application/json:
schema:
$ref: '#/components/schemas/AssetCfaResponseDto'
'403':
description: Forbidden
'404':
description: Not Found
security:
- authorization: []
summary: Get an Asset by its internal ID
tags:
- assets
x-controller-class: AssetsCfaController
patch:
description: Partially updates an existing asset identified by its internal ID. Only the fields provided in the request body are modified. Returns 204 on success.
operationId: /v2/assets/{id}_patch
parameters:
- name: id
required: true
in: path
description: The asset's internal ID
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AssetsCfaUpdateOneBodyDto'
responses:
'204':
description: Resource updated
content:
application/json:
schema:
type: string
'400':
description: Bad Request
'403':
description: Forbidden
'404':
description: Not Found
'409':
description: Duplicate asset number and assetTypeId
security:
- authorization: []
summary: Update an Asset by its internal ID
tags:
- assets
x-controller-class: AssetsCfaController
delete:
description: Permanently deletes the asset identified by its internal ID. Returns 204 on success. Fails with 409 if the asset is a parent to other assets.
operationId: /v2/assets/{id}_delete
parameters:
- name: id
required: true
in: path
description: The asset's internal ID
schema:
type: string
responses:
'204':
description: Asset deleted
'400':
description: Bad Request
'403':
description: Forbidden
'409':
description: Asset is parent to other assets, cannot delete
security:
- authorization: []
summary: Delete an Asset by its internal ID
tags:
- assets
x-controller-class: AssetsCfaController
/v2/assets/number/{assetNumber}:
get:
description: Retrieves a single asset by its unique asset number. The asset number must be URL-encoded. Returns 409 if multiple assets share the same number.
operationId: /v2/assets/number/{assetNumber}_get
parameters:
- name: assetNumber
required: true
in: path
description: The asset's number (must be URL encoded)
schema:
type: string
- name: associations
required: false
in: query
description: Define which associations should be included in the response.
schema:
type: array
items:
type: string
enum:
- parentAsset
- assignedPerson
- relatedOrganizations
- relatedContacts
- customProperties
responses:
'200':
description: Asset retrieved
content:
application/json:
schema:
$ref: '#/components/schemas/AssetCfaResponseDto'
'403':
description: Forbidden
'404':
description: Not Found
'409':
description: More than one asset with the same serial number was found
security:
- authorization: []
summary: Get an Asset by its number
tags:
- assets
x-controller-class: AssetsCfaController
patch:
description: Partially updates a single asset identified by its unique asset number. The asset number must be URL-encoded. Returns 409 if the update would create a duplicate asset number and asset-type combination.
operationId: /v2/assets/number/{assetNumber}_patch
parameters:
- name: assetNumber
required: true
in: path
description: The asset's number (must be URL encoded)
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AssetsCfaUpdateOneBodyDto'
responses:
'204':
description: Resource updated
content:
application/json:
schema:
type: string
'400':
description: Bad Request
'403':
description: Forbidden
'404':
description: Not Found
'409':
description: Duplicate asset number and assetTypeId
security:
- authorization: []
summary: Update an Asset by its number
tags:
- assets
x-controller-class: AssetsCfaController
delete:
description: Permanently deletes a single asset identified by its unique asset number. The asset number must be URL-encoded. Returns 409 if the asset is a parent to other assets or if multiple assets share the same number.
operationId: /v2/assets/number/{assetNumber}_delete
parameters:
- name: assetNumber
required: true
in: path
description: The asset's number (must be URL encoded)
schema:
type: string
responses:
'204':
description: Asset deleted
'400':
description: Bad Request
'403':
description: Forbidden
'409':
description: Cannot delete. Asset is parent to other assets or more than one asset with the same serial number was found
security:
- authorization: []
summary: Delete an Asset by its number
tags:
- assets
x-controller-class: AssetsCfaController
/v2/assets/number/{assetNumber}/inventories:
get:
description: Returns a paginated list of part inventories associated with the asset identified by its serial number.
operationId: /v2/assets/number/{assetNumber}/inventories_get
parameters:
- name: assetNumber
required: true
in: path
description: The asset's number (must be URL encoded)
schema:
type: string
- name: page
required: false
in: query
description: Page number.
schema:
type: number
- name: limit
required: false
in: query
description: Define how many items will be received in the payload per request.(default 20 items, max 1000 items)
schema:
type: number
responses:
'200':
description: List of part inventories by asset
content:
application/json:
schema:
$ref: '#/components/schemas/AssetsCfaFindManyInventoriesByAssetResponseDto'
'400':
description: Bad Request
'403':
description: Forbidden
'404':
description: Not Found
'409':
description: More than one asset with the same serial number was found
security:
- authorization: []
summary: Get a list of part inventories by asset by serial number
tags:
- assets
x-controller-class: AssetsCfaController
/v2/assets/{id}/inventories:
get:
description: Returns a paginated list of part inventories associated with the asset identified by its ID.
operationId: /v2/assets/{id}/inventories_get
parameters:
- name: id
required: true
in: path
schema:
type: string
- name: page
required: false
in: query
description: Page number.
schema:
type: number
- name: limit
required: false
in: query
description: Define how many items will be received in the payload per request.(default 20 items, max 1000 items)
schema:
type: number
responses:
'200':
description: List of part inventories by asset
content:
application/json:
schema:
$ref: '#/components/schemas/AssetsCfaFindManyInventoriesByAssetResponseDto'
'400':
description: Bad Request
'403':
description: Forbidden
'404':
description: Not Found
security:
- authorization: []
summary: Get a list of part inventories by asset
tags:
- assets
x-controller-class: AssetsCfaController
components:
schemas:
CustomPropertyValueCreateCfaBodyDto:
type: object
properties:
reference:
type: string
description: The reference of the custom property the value is assigned to
value:
anyOf:
- type: string
format: date
description: 'Date value (DATE type). Format: YYYY-MM-DD (e.g., 2025-10-13)'
- type: string
format: date-time
description: 'DateTime value (DATETIME type). Format: ISO 8601 (e.g., 2025-10-13T16:49:00Z)'
- type: string
format: uri
description: 'URL value (URL type). Format: Valid URI (e.g., https://example.com/path)'
- type: string
description: Text value (TEXT and TEXTAREA types). Plain text string of any length
- type: number
description: Numeric value (NUMBER type). Integer or decimal number
- type: boolean
description: 'Boolean value (CHECKBOX type). Accepts: true or false'
- type: array
items:
type: string
description: 'Array of string IDs (SELECT, ASSET_SELECT, CONTACT_SELECT, ORGANIZATION_SELECT types). Format: ["id1", "id2", ...]'
description: The value of the custom property
required:
- reference
- value
CustomPropertyValueCfaResponseDto:
type: object
properties:
reference:
type: string
description: The reference of the custom property the value is assigned to
value:
type: object
description: The value of the custom property
associationValue:
description: The populated related object value if "customProperties" is present in "associations" query
type: array
items:
oneOf:
- $ref: '#/components/schemas/AssetInfoCfaResponseDto'
- $ref: '#/components/schemas/ContactInfoCfaResponseDto'
- $ref: '#/components/schemas/OrganizationInfoCfaResponseDto'
required:
- reference
- value
AssetsCfaFindManyInventoriesByAssetResponseDto:
type: object
properties:
data:
description: The list of part inventories with part type information.
type: array
items:
$ref: '#/components/schemas/AssetsCfaPartInventoryWithTypeResponseDto'
required:
- data
ContactInfoCfaResponseDto:
type: object
properties:
id:
type: string
firstName:
type: string
lastName:
type: string
email:
type: string
required:
- id
AssetListItemCfaResponseDto:
type: object
properties:
id:
type: string
description: The asset's internal ID.
assetNumber:
type: string
description: The asset's unique serial number.
assetType:
type: string
description: The asset's type.
assetCategory:
type: string
enum:
- area
- group
- asset
- component
- storage
description: The asset's category
assetTypeId:
type: string
description: The asset's type internal ID
name:
type: string
description: The asset's name.
createdAt:
type: string
format: date-time
description: The asset's creation date
updatedAt:
type: string
format: date-time
description: The asset's date of the last update
location:
description: The asset's location
allOf:
- $ref: '#/components/schemas/AddressCfaResponseDto'
criticality:
type: string
enum:
- nonCritical
- important
- coreProcess
- safety
description: The asset's criticality
status:
type: string
enum:
- new
- running
- warning
- stopped
- inactive
description: The asset's current highest importance signal's status
installationDate:
type: object
description: The asset's installation date
required:
- id
- assetNumber
- assetType
- assetCategory
- assetTypeId
- createdAt
- updatedAt
- criticality
- status
AssetsCfaPartInventoryWithTypeResponseDto:
type: object
properties:
id:
type: string
description: The part inventory's internal ID.
storageAssetId:
type: string
description: The part inventory's storage asset ID.
partType:
type: object
description: The part inventory's part type.
availableStock:
type: number
description: The part inventory's available stock.
totalStock:
type: number
description: The part inventory's total stock.
createdAt:
type: object
description: The part inventory's creation date.
required:
- id
- storageAssetId
- partType
- availableStock
- totalStock
- createdAt
CustomPropertyValueUpdateCfaBodyDto:
type: object
properties:
reference:
type: string
description: The reference of the custom property the value is assigned to
value:
anyOf:
- type: string
format: date
description: 'Date value (DATE type). Format: YYYY-MM-DD (e.g., 2025-10-13)'
- type: string
format: date-time
description: 'DateTime value (DATETIME type). Format: ISO 8601 (e.g., 2025-10-13T16:49:00Z)'
- type: string
format: uri
description: 'URL value (URL type). Format: Valid URI (e.g., https://example.com/path)'
- type: string
description: Text value (TEXT and TEXTAREA types). Plain text string of any length
- type: number
description: Numeric value (NUMBER type). Integer or decimal number
- type: boolean
description: 'Boolean value (CHECKBOX type). Accepts: true or false'
- type: array
items:
type: string
description: 'Array of string IDs (SELECT, ASSET_SELECT, CONTACT_SELECT, ORGANIZATION_SELECT types). Format: ["id1", "id2", ...]'
nullable: true
description: The value of the custom property (pass null to remove the custom property value)
required:
- reference
- value
AssetsCfaFindManyResponseDto:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/AssetListItemCfaResponseDto'
required:
- data
AssetInfoCfaResponseDto:
type: object
properties:
id:
type: string
assetNumber:
type: string
assetType:
type: string
required:
- id
- assetNumber
- assetType
AddressCfaBodyDto:
type: object
properties:
company:
type: string
description: The name of the company or organization associated with the address.
street:
type: string
description: The name of the street for the address.
streetNumber:
type: string
description: The specific number or identifier for the location on the street.
zipPostCode:
type: string
description: The postal or ZIP code for the address.
city:
type: string
description: The name of the city where the address is located.
countryProvince:
type: string
description: The province or state within the country of the address.
country:
type: string
description: The name of the country for the address.
other:
type: string
description: Additional details or descriptions related to the address.
OrganizationInfoCfaResponseDto:
type: object
properties:
id:
type: string
organizationName:
type: string
organizationNumber:
type: string
required:
- id
- organizationName
AssetCfaCreateOneBodyDto:
type: object
properties:
assetNumber:
type: string
description: The asset's number
assetTypeId:
type: string
description: The asset type internal ID that this asset belongs to (Provide either this or the assetTypeLabel)
assetTypeLabel:
type: string
description: The asset type label that this asset belongs to (Provide either this or the assetTypeId)
name:
type: string
description: The asset's display name (if not specified the assetTypeLabel is used as display name)
parentAssetId:
type: string
description: The internal ID of this asset's parent (Provide either this or the parentAssetNumber)
parentAssetNumber:
type: string
description: The asset number of this asset's parent (Provide either this or the parentAssetId)
relatedOrganizationIds:
description: The internal IDs of the organizations that will be related to the asset (Provide either this or the relatedOrganizationNumbers).
type: array
items:
type: string
relatedOrganizationNumbers:
description: The numbers of the organizations that will be related to the asset (Provide either this or the relatedOrganizationIds).
type: array
items:
type: string
assignedPersonId:
type: string
description: The internal ID of the person that will be assigned to the asset
responsibleUserGroupId:
type: string
description: The internal ID of the user group that will be responsible for the asset (Provide either this or the responsibleUserGroupName)
responsibleUserGroupName:
type: string
description: The name of the user group that will be responsible for the asset (Provide either this or the responsibleUserGroupId)
relatedContactIds:
description: The internal IDs of the contacts that will be related to the asset. The value provided will replace existing relations.
type: array
items:
type: string
location:
description: The asset's location
allOf:
- $ref: '#/components/schemas/AddressCfaBodyDto'
userGroupIds:
description: The internal IDs of the user groups that will be related to the asset (Provide either this or the userGroupNames). The value provided will replace existing relations.
type: array
items:
type: string
userGroupNames:
description: The names of the user groups that will be related to the asset (Provide either this or the userGroupIds). The value provided will replace existing relations.
type: array
items:
type: string
customPropertyValues:
type: array
items:
$ref: '#/components/schemas/CustomPropertyValueCreateCfaBodyDto'
criticality:
type: string
enum:
- nonCritical
- important
- coreProcess
- safety
description: The asset’s criticality (default is Non-Critical)
installationDate:
type: string
format: YYYY-MM-DD
description: The asset’s installation date
isNew:
type: boolean
description: Determines the initial status of the created asset. If true, the asset will be created with status "new", otherwise with status "running".
isRunning:
type: boolean
default: true
deprecated: true
description: Deprecated. Use `isNew` instead (inverted semantics).
required:
- assetNumber
AssetCfaResponseDto:
type: object
properties:
id:
type: string
description: The asset's internal ID.
createdAt:
type: string
format: date-time
description: The asset's creation date
updatedAt:
type: string
format: date-time
description: The asset's date of the last update
assetNumber:
type: string
description: The asset's unique serial number.
assetType:
type: string
description: The asset's type.
assetCategory:
type: string
enum:
- area
- group
- asset
- component
- storage
description: The asset's category
assetTypeId:
type: string
description: The asset's type internal ID
name:
type: string
description: The asset's name.
parentAsset:
description: The asset's parent
allOf:
- $ref: '#/components/schemas/AssetInfoCfaResponseDto'
location:
description: The asset's location
allOf:
- $ref: '#/components/schemas/AddressCfaResponseDto'
relatedOrganizations:
description: The asset's related organizations
type: array
items:
$ref: '#/components/schemas/OrganizationInfoCfaResponseDto'
relatedContacts:
description: The asset's related contacts
type: array
items:
$ref: '#/components/schemas/ContactInfoCfaResponseDto'
assignedPerson:
description: The asset's primary person
allOf:
- $ref: '#/components/schemas/ContactInfoCfaResponseDto'
customPropertyValues:
description: The asset's custom properties
type: array
items:
$ref: '#/components/schemas/CustomPropertyValueCfaResponseDto'
criticality:
type: string
enum:
- nonCritical
- important
- coreProcess
- safety
description: The asset's criticality
status:
type: string
enum:
- new
- running
- warning
- stopped
- inactive
description: The asset's current highest importance signal's status
installationDate:
type: string
format: YYYY-MM-DD
description: The assets's installation date
required:
- id
- createdAt
- updatedAt
- assetNumber
- assetType
- assetCategory
- assetTypeId
- customPropertyValues
- criticality
- status
AssetsCfaCreateOneResponseDto:
type: object
properties:
id:
type: string
required:
- id
AddressCfaResponseDto:
type: object
properties:
company:
type: string
description: The name of the company or organization associated with the address.
street:
type: string
description: The name of the street for the address.
streetNumber:
type: string
description: The specific number or identifier for the location on the street.
zipPostCode:
type: string
description: The postal or ZIP code for the address.
city:
type: string
description: The name of the city where the address is located.
countryProvince:
type: string
description: The province or state within the country of the address.
country:
type: string
description: The name of the country for the address.
other:
type: string
description: Additional details or descriptions related to the address.
AssetsCfaUpdateOneBodyDto:
type: object
properties:
assetNumber:
type: string
description: The asset's number
assetTypeId:
type: string
description: The asset type internal ID that this asset belongs to (Provide either this or the assetTypeLabel)
assetTypeLabel:
type: string
description: The asset type label that this asset belongs to (Provide either this or the assetTypeId)
name:
type: string
description: The asset's display name (if not specified the assetTypeLabel is used as display name)
parentAssetId:
type: string
description: The internal ID of this asset's parent (Provide either this or the parentAssetNumber)
parentAssetNumber:
type: string
description: The asset number of this asset's parent (Provide either this or the parentAssetId)
relatedOrganizationIds:
description: The internal IDs of the organizations that will be related to the asset (Provide either this or the relatedOrganizationNumbers).
type: array
items:
type: string
relatedOrganizationNumbers:
description: The numbers of the organizations that will be related to the asset (Provide either this or the relatedOrganizationIds).
type: array
items:
type: string
assignedPersonId:
type: object
nullable: true
description: The internal ID of the person that will be assigned to the asset (Provide null to unset value)
responsibleUserGroupId:
type: string
description: The internal ID of the user group that will be responsible for the asset (Provide either this or the responsibleUserGroupName)
responsibleUserGroupName:
type: string
description: The name of the user group that will be responsible for the asset (Provide either this or the responsibleUserGroupId)
relatedContactIds:
description: The internal IDs of the contacts that will be related to the asset. The value provided will replace existing relations.
type: array
items:
type: string
location:
description: The asset's location
allOf:
- $ref: '#/components/schemas/AddressCfaBodyDto'
userGroupIds:
description: The internal IDs of the user groups that will be related to the asset (Provide either this or the userGroupNames). The value provided will replace existing relations.
type: array
items:
type: string
userGroupNames:
description: The names of the user groups that will be related to the asset (Provide either this or the userGroupIds). The value provided will replace existing relations.
type: array
items:
type: string
customPropertyValues:
type: array
items:
$ref: '#/components/schemas/Custo
# --- truncated at 32 KB (32 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/remberg/refs/heads/main/openapi/remberg-assets-api-openapi.yml