Remberg assets API

The assets API from Remberg — 5 operation(s) for assets.

OpenAPI Specification

remberg-assets-api-openapi.yml Raw ↑
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