1. U4 ERPx
  2. API Reference
  3. Common
  4. Attribute Values

Attribute Values

The Attribute Values API in Unit4 ERPx manages attribute value data - creation, retrieval, updates, and termination (soft-delete) of attribute values. It is designed for integration with mobile and other external applications, supporting microservice-based development, testing, and maintenance.

Purpose:
The Attribute Values API manages all aspects of attribute value data, including creation, update, validation, and soft deletion (termination). Attribute values are fundamental building blocks in ERPx that define master data options for various business entities such as absence reasons, cost centers, and other configurable attributes.

Base URL:
/v1/attribute-values

Authentication:
All APIs require a Client ID and Client Secret.
Refer to the global authentication documentation for details.

System Parameters:
System parameters for attribute configuration are available in Online Help → Administration → Attributes → Fixed Registers → System Parameters.    

Supported Methods

HTTP MethodEndpointDescriptionLimits & Notes
POST/v1/attribute-valuesCreate a single attribute value recordOnly 1 attribute value per call. Only attributes with manual maintenance (M). Possibility to create multiple contact points and relation values per call.
GET/v1/attribute-values/{attributeId}/{attributeValue}/{periodFrom}Retrieve single attribute value dataPeriod value must be correctly formatted PERIOD attribute value. Returns complete attribute value including relations and contact points.
GET/v1/attribute-values/{attributeId}Retrieve multiple attribute valuesReturns array of attribute values for given attributeId. Supports OData query options. Does not return related data.
HEAD/v1/attribute-values/{attributeId}Get count of attribute valuesReturns the number of matching values in response header X-U4-Total-Count.
PATCH/v1/attribute-values/{attributeId}/{attributeValue}/{periodFrom}Update attribute value dataOne attribute value per call. Only attributes with manual maintenance. Cannot modify AttributeName and AttributeId fields.
DELETE/v1/attribute-values/{attributeId}/{attributeValue}/{periodFrom}Terminate (soft-delete) an attribute valueChanges status to ‘C’. Only attributes with manual maintenance.

   

Swagger / Schema

Version v1

   

Method Details

Sample Request

{
  "attribute": "ABSREASON",
  "attributeId": "C06",
  "attributeValue": "99",
  "companyId": "EN",
  "description": "New absence reason example",
  "owner": "",
  "ownerAttributeId": "",
  "ownerAttributeName": "",
  "periodFrom": 0,
  "periodTo": 209999,
  "status": "N"
}
{
  "attributeName": "ABSREASON",
  "attributeId": "C06",
  "companyId": "EN",
  "description": "Leave of absence-test",
  "attributeValue": "102",
  "periodFrom": "0",
  "periodTo": "209999",
  "ownerAttributeName": "",
  "ownerAttributeId": "",
  "owner": "",
  "status": "N",
  "customValue": 0,
  "relatedValues": [
    {
      "unitValue": 0,
      "relationGroup": "",
      "relationId": "REL1",
      "relationName": "TEST1",
      "relatedValue": "TEST1",
      "percentage": 100,
      "dateFrom": "1900-01-01T00:00:00.000",
      "dateTo": "2099-12-31T00:00:00.000"
    }
  ]
}
{
  "attributeName": "ABSREASON",
  "attributeId": "C06",
  "companyId": "EN",
  "description": "Leave of absence-test",
  "attributeValue": "102",
  "periodFrom": "0",
  "periodTo": "209999",
  "ownerAttributeName": "",
  "ownerAttributeId": "",
  "owner": "",
  "status": "N",
  "customValue": 0,
  "relatedValues": [
    {
      "unitValue": 0,
      "relationGroup": "",
      "relationId": "REL1",
      "relationName": "TEST1",
      "relatedValue": "TEST1",
      "percentage": 100,
      "dateFrom": "1900-01-01T00:00:00.000",
      "dateTo": "2099-12-31T00:00:00.000"
    },
    {
      "unitValue": 0,
      "relationGroup": "",
      "relationId": "REL2",
      "relationName": "TEST1",
      "relatedValue": "TEST1",
      "percentage": 100,
      "dateFrom": "1900-01-01T00:00:00.000",
      "dateTo": "2099-12-31T00:00:00.000"
    }
  ]
}
{
  "attributeName": "ABSREASON",
  "attributeId": "C06",
  "companyId": "EN",
  "description": "Leave of absence",
  "attributeValue": "201",
  "periodFrom": "0",
  "periodTo": "209999",
  "ownerAttributeName": "",
  "ownerAttributeId": "",
  "owner": "",
  "status": "N",
  "customValue": 0,
  "contactPoints": [
    {
      "additionalContactInfo": {
        "contactPerson": "Test person",
        "contactPosition": "Test",
        "eMail": "test.primary@unit4.com",
        "eMailCc": "test@test.com",
        "gtin": "",
        "url": ""
      },
      "address": {
        "countryCode": "EN",
        "place": "Test place",
        "postcode": "test post code",
        "province": "test province",
        "streetAddress": "test street"
      },
      "contactPointType": "1",
      "phoneNumbers": {
        "telephone1": "99966633322255",
        "telephone2": "",
        "telephone3": "",
        "telephone4": "",
        "telephone5": "",
        "telephone6": "",
        "telephone7": ""
      },
      "sortOrder": 0
    }
  ]
}

Limits & Notes

  • Attribute must have manual maintenance option (M) enabled.
  • To add contact points, attribute must have contact information option (A) enabled.
  • Relations must exist before being added to attribute values.
  • Related attribute values must exist before creating relation values.

   

Validation Rules for POST Method

POST_001 - User is not authorised
ElementDetails
Scenario IDPOST_001
Scenario NameUser is not authorised
HTTP Code403
GIVENA new attribute value needs to be created
WHENCalling the POST method of the API
BUTUser does NOT have permissions
THENAPI is not reached; 403 Forbidden response is returned
Example Error Message“User is not authorised.”
POST_002 - Unknown companyID
ElementDetails
Scenario IDPOST_002
Scenario NameUnknown companyID
HTTP Code403
GIVENA new attribute value needs to be created
WHENCalling the POST method of the API
BUTThe companyID does not exist
THENAPI is not reached; 403 Forbidden response is returned
Example Error Message“User is not authorised.”
POST_003 - Incorrect attribute maintenance
ElementDetails
Scenario IDPOST_003
Scenario NameIncorrect attribute maintenance
HTTP Code400
GIVENA new attribute value needs to be created
WHENCalling the POST method of the API
BUTAttribute has an incorrect maintenance option
THENAttribute value is not created; 422 response is returned
Example Error Message“The attribute {0} does not allow manual maintenance. You must use the specific API dedicated for updating that attribute”
POST_004 - Missing mandatory fields
ElementDetails
Scenario IDPOST_004
Scenario NameMissing mandatory fields
HTTP Code422
GIVENA new attribute value needs to be created
WHENCalling the POST method of the API
BUTA mandatory field is missing
THENAttribute value is not created; 422 response is returned
Example Error Message“The {0} field is required”
POST_005 - Invalid format of fields
ElementDetails
Scenario IDPOST_005
Scenario NameInvalid format of fields
HTTP Code422
GIVENA new attribute value needs to be created
WHENCalling the POST method of the API
BUTField format is invalid
THENAttribute value is not created; 422 response is returned
Example Error Message“{0} is not a valid value for the attribute {0}. You cannot use a space or any invalid characters”
POST_006 - Unsatisfied model restrictions
ElementDetails
Scenario IDPOST_006
Scenario NameUnsatisfied model restrictions
HTTP Code422
GIVENA new attribute value needs to be created
WHENCalling the POST method of the API
BUTField violates model restrictions (length, range, numeric limits)
THENAttribute value is not created; 422 response is returned
Example Error Message“The field {0} must be a string with max length {1}” / “{0} must be equal or earlier than {1}”
POST_007 - Attribute value already exists
ElementDetails
Scenario IDPOST_007
Scenario NameAttribute value already exists
HTTP Code422
GIVENA new attribute value needs to be created
WHENCalling the POST method of the API
BUTAttribute value already exists for given companyId
THENAttribute value is not created; 409 response is returned
Example Error Message“{0}: already exists. Please enter a unique value”
POST_008 - Invalid period
ElementDetails
Scenario IDPOST_008
Scenario NameInvalid period
HTTP Code422
GIVENA new attribute value needs to be created
WHENCalling the POST method of the API
BUTPeriod does not exist
THENAttribute value is not created; 422 response is returned
Example Error Message“Illegal period”
POST_009 - Contact points are not maintained
ElementDetails
Scenario IDPOST_009
Scenario NameContact points are not maintained
HTTP Code422
GIVENA new attribute value needs to be created with contact points
WHENCalling the POST method of the API
BUTProperty is not present on the body
THENAttribute value is not created; 422 response is returned
Example Error Message“The attribute {0} does not allow to enter contact information”
POST_010 - Attribute value is created
ElementDetails
Scenario IDPOST_010
Scenario NameAttribute value is created
HTTP Code201
GIVENA new attribute value needs to be created
WHENCalling the POST method of the API
BUT
THENAttribute value is created
Example Error MessageRESPONSE: returns the created attribute value
POST_011 - Attribute value is created with auto-numbering
ElementDetails
Scenario IDPOST_011
Scenario NameAttribute value is created when auto-numbering is active
HTTP Code201
GIVENA new attribute value needs to be created
WHENCalling the POST method of the API
BUTAuto-numbering is active for the given attribute
THENAttribute value is created
Example Error MessageRESPONSE: returns the created attribute value with value from auto-numbering
POST_012 - Incorrect relationId
ElementDetails
Scenario IDPOST_012
Scenario NameAttribute value is not created with incorrect relationId
HTTP Code422
GIVENA new attribute value needs to be created with given relation
WHENCalling the POST method of the API
BUTRelation between attributes does not exist
THENAttribute value is not created; 422 response is returned
Example Error Message“The relation ‘{0}’ – {1} - does not exist”
POST_013 - Incorrect relatedValue
ElementDetails
Scenario IDPOST_013
Scenario NameAttribute value is not created with incorrect relatedValue
HTTP Code422
GIVENA new attribute value needs to be created with given relation
WHENCalling the POST method of the API
BUTRelation value does not exist for the given relation
THENAttribute value is not created; 422 response is returned
Example Error Message“{0} is not a legal {1}”
POST_014 - Incorrect percentage
ElementDetails
Scenario IDPOST_014
Scenario NameAttribute value is not created with incorrect percentage
HTTP Code422
GIVENA new attribute value needs to be created with given relation
WHENCalling the POST method of the API
BUTRelation percentage is above 100
THENAttribute value is not created; 422 response is returned
Example Error Message“The field Percentage must be between 0 and 100”
POST_015 - Multi-relations with one incorrect
ElementDetails
Scenario IDPOST_015
Scenario NameAttribute value is not created with multi-relations but one is incorrect
HTTP Code422
GIVENA new attribute value needs to be created with given relation
WHENCalling the POST method of the API
BUTThe first relation in the array has an incorrect relationId
THENAttribute value is not created; 422 response is returned
Example Error Message“{0} is not a legal {1}”
POST_016 - Created with multi-relations
ElementDetails
Scenario IDPOST_016
Scenario NameAttribute value is created with multi-relations
HTTP Code201
GIVENA new attribute value needs to be created with given relation
WHENCalling the POST method of the API
BUT
THENAttribute value is created
Example Error MessageRESPONSE: returns the created attribute value with relations array
POST_017 - Created with contact points
ElementDetails
Scenario IDPOST_017
Scenario NameAttribute value is created with contact points
HTTP Code201
GIVENA new attribute value needs to be created with given contact point
WHENCalling the POST method of the API
BUT
THENAttribute value is created
Example Error MessageRESPONSE: returns the created attribute value with contact points array
POST_018 - Incorrect contact point type
ElementDetails
Scenario IDPOST_018
Scenario NameAttribute value is not created with incorrect contact point type
HTTP Code422
GIVENA new attribute value needs to be created with given contact point
WHENCalling the POST method of the API
BUTcontactPointType is not a valid ADDRTYPE attribute value
THENAttribute value is not created; 422 response is returned
Example Error Message“{0} is not a legal ADDRTYPE”
POST_019 - Multiple contact points with one incorrect
ElementDetails
Scenario IDPOST_019
Scenario NameAttribute value is not created with multiple contact points when one has incorrect contact point type
HTTP Code422
GIVENA new attribute value needs to be created with given contact point
WHENCalling the POST method of the API
BUTcontactPointType is not a valid ADDRTYPE attribute value
THENAttribute value is not created; 422 response is returned
Example Error Message“{0} is not a legal ADDRTYPE”

   

Sample Request

GET /v1/attribute-values/C06/99/0?companyId=EN

   

Additional Parameters

The following parameters help retrieve attribute value information:

ParameterValueDescriptionData TypeDefault Value
companyIdoptionalSpecify if you wish to retrieve an attribute value that exists in a specific company or client.stringempty
   

Limits & Notes

  • Only one attribute value per call.
  • attributeId must be correct.
  • attributeValue must be correct.
  • Period value must be correctly formatted PERIOD attribute value.
  • Returns complete attribute value including relations and contact points.    

Validation Rules for GET Method (Single Value)

GET_001 - User is not authorised
ElementDetails
Scenario IDGET_001
Scenario NameUser is not authorised
HTTP Code403
GIVENExisting attribute value needs to be retrieved
WHENCalling the GET method of the API
BUTUser does NOT have permissions
THENAPI is not reached; 403 Forbidden response is returned
Example Error Message“User is not authorised.”
GET_002 - Unknown companyID
ElementDetails
Scenario IDGET_002
Scenario NameUnknown companyID
HTTP Code403
GIVENExisting attribute value needs to be retrieved
WHENCalling the GET method of the API
BUTcompanyID does not exist
THENAPI is not reached; 403 Forbidden response is returned
Example Error Message“User is not authorised.”
GET_003 - attributeId does not exist
ElementDetails
Scenario IDGET_003
Scenario NameattributeId does not exist
HTTP Code404
GIVENExisting attribute value needs to be retrieved
WHENCalling the GET method of the API
BUTattributeId does not exist for the companyId
THENAttribute value is not retrieved; 404 response is returned
Example Error Message“{0} is not a valid attribute”
GET_004 - Attribute value does not exist
ElementDetails
Scenario IDGET_004
Scenario NameAttribute value does not exist
HTTP Code404
GIVENExisting attribute value needs to be retrieved
WHENCalling the GET method of the API
BUTAttribute value does not exist for the companyId
THENAttribute value is not retrieved; 404 response is returned
Example Error Message“The entity of the following parameters [Company: {0}, Attribute ID: {1}, Attribute value: {2}, Period from: {3}] was not found”
GET_005 - Period does not exist
ElementDetails
Scenario IDGET_005
Scenario NamePeriod does not exist
HTTP Code404
GIVENExisting attribute value needs to be retrieved
WHENCalling the GET method of the API
BUTPeriod does not exist for the companyId
THENAttribute value is not retrieved; 404 response is returned
Example Error Message“The entity of the following parameters [Company: {0}, Attribute ID: {1}, Attribute value: {2}, Period from: {3}] was not found”
GET_006 - Attribute value exists
ElementDetails
Scenario IDGET_006
Scenario NameAttribute value exists
HTTP Code200
GIVENExisting attribute value needs to be retrieved
WHENCalling the GET method of the API
BUT
THEN200 response is returned together with the information on the attribute value
Example Error MessageRESPONSE: DTO with data
GET_007 - Attribute value exists with no relations
ElementDetails
Scenario IDGET_007
Scenario NameAttribute value exists with no relations
HTTP Code200
GIVENData from an existing attribute value needs to be retrieved
WHENCalling the GET method of the API
BUTAttribute value has no relations
THEN200 response is returned together with the information on the attribute value
Example Error MessageRESPONSE: Attribute value DTO with empty array of relatedValues
GET_008 - Attribute value exists with relations
ElementDetails
Scenario IDGET_008
Scenario NameAttribute value exists with relations
HTTP Code200
GIVENData from an existing attribute value needs to be retrieved
WHENCalling the GET method of the API
BUTAttribute value has relations
THEN200 response is returned together with the information on the attribute value
Example Error MessageRESPONSE: Attribute value DTO with array of relatedValues
GET_009 - Attribute value exists with no contact points
ElementDetails
Scenario IDGET_009
Scenario NameAttribute value exists with no contact points
HTTP Code200
GIVENData from an existing attribute value needs to be retrieved
WHENCalling the GET method of the API
BUTAttribute value has no contact points
THEN200 response is returned together with the information on the attribute value
Example Error MessageRESPONSE: Attribute value DTO with empty array of contactPoints
GET_010 - Attribute value exists with contact points
ElementDetails
Scenario IDGET_010
Scenario NameAttribute value exists with contact points
HTTP Code200
GIVENData from an existing attribute value needs to be retrieved
WHENCalling the GET method of the API
BUTAttribute value has contact points
THEN200 response is returned together with the information on the attribute value
Example Error MessageRESPONSE: Attribute value DTO with array of contactPoints

   

Sample Request

GET /v1/attribute-values/C06?companyId=EN&$select=attributeValue,description&$filter=status eq 'N'&$orderby=attributeValue asc&$top=100

   

Additional Parameters

The following OData query parameters help filter and shape the response:

ParameterValueDescriptionData TypeDefault Value
companyIdoptionalSpecify if you wish to retrieve attribute values that exist in a specific company or client.stringempty
$selectoptionalProperties to include in the response (comma-separated).stringall properties
$filteroptionalBoolean filter expression (OData syntax: eq, ne, gt, and, or, etc.).stringnone
$orderbyoptionalSort order of results. Format: property [asc|desc], multiple values separated by commas.stringnone
$offsetoptionalNumber of items to skip before returning results (also called $skip).integer0
$limitoptionalMaximum number of items to return (also called $top).integersystem default

   

Limits & Notes

  • Only one attributeId per call.
  • attributeId must be correct.
  • Does not return related data (relations and contact points).
  • Returns only base-data for attribute value.
  • Supports OData query syntax for filtering and sorting.

   

Validation Rules for GET Method (Multiple Values)

GET_001 - User is not authorised
ElementDetails
Scenario IDGET_001
Scenario NameUser is not authorised
HTTP Code403
GIVENAn array of existing attribute values needs to be retrieved
WHENCalling the GET method of the API
BUTUser does NOT have permissions
THENAPI is not reached; 403 Forbidden response is returned
Example Error Message“User is not authorised.”
GET_002 - Unknown companyID
ElementDetails
Scenario IDGET_002
Scenario NameUnknown companyID
HTTP Code403
GIVENAn array of existing attribute values needs to be retrieved
WHENCalling the GET method of the API
BUTThe companyID does not exist
THENAPI is not reached; 403 Forbidden response is returned
Example Error Message“User is not authorised.”
GET_003 - attributeId does not exist
ElementDetails
Scenario IDGET_003
Scenario NameattributeId does not exist
HTTP Code404
GIVENAn array of existing attribute values needs to be retrieved
WHENCalling the GET method of the API
BUTattributeId does not exist for the companyId
THENArray of attribute values is not retrieved; 404 response is returned
Example Error Message“Attribute with id {0} is not found”
GET_004 - Non-existing field in select parameter
ElementDetails
Scenario IDGET_004
Scenario NameNon-existing field in select parameter
**HTTP Code404
GIVENAn array of existing attribute values needs to be retrieved
WHENCalling the GET method of the API
BUTselect parameter with non-existing field
THENArray of attribute values is not retrieved; 404 response is returned
Example Error Message“Select statement error at position 0, message: The provided referencePath:{0} can’t be applied on the entity: ‘attribute_{1}’”
GET_005 - Incorrect OData syntax in query
ElementDetails
Scenario IDGET_005
Scenario NameIncorrect OData syntax in query
HTTP Code404
GIVENAn array of existing attribute values needs to be retrieved
WHENCalling the GET method of the API
BUTWrong query syntax
THENArray of attribute values is not retrieved; 404 response is returned
Example Error Message“Syntax error at position 6 in {0}”
GET_006 - Attribute exists and has values
ElementDetails
Scenario IDGET_006
Scenario NameAttribute exists and has values
HTTP Code200
GIVENAn array of existing attribute values needs to be retrieved
WHENCalling the GET method of the API
BUT
THEN200 response is returned together with the array of the attribute values
Example Error MessageRESPONSE: Object with data
GET_007 - Attribute exists but has no values
ElementDetails
Scenario IDGET_007
Scenario NameAttribute exists but has no values
HTTP Code200
GIVENAn array of existing attribute values needs to be retrieved
WHENCalling the GET method of the API
BUT
THEN200 response is returned together with the empty array
Example Error MessageRESPONSE: []

   

Sample Request

HEAD /v1/attribute-values/C06?companyId=EN

Sample Response

Headers:

HTTP/1.1 200 OK
x-u4-totalcount: 6

   

Additional Parameters

The following parameters help retrieve count information:

ParameterValueDescriptionData TypeDefault Value
companyIdoptionalSpecify if you wish to count attribute values that exist in a specific company or client.stringempty
   

Limits & Notes

  • Only one attributeId value per call.
  • Returns count in response header X-U4-Total-Count.
  • No response body returned.    

Validation Rules for HEAD Method

HEAD_001 - User is not authorised
ElementDetails
Scenario IDHEAD_001
Scenario NameUser is not authorised
HTTP Code403
GIVENThe total number of attribute values needs to be retrieved
WHENCalling the HEAD method of the API
BUTUser does NOT have permissions
THENAPI is not reached; 403 Forbidden response is returned
Example Error Message“User is not authorised.”
HEAD_002 - attributeId does not exist
ElementDetails
Scenario IDHEAD_002
Scenario NameattributeId does not exist
HTTP Code403
GIVENThe total number of attribute values needs to be retrieved
WHENCalling the HEAD method of the API
BUTattributeId does not exist for the companyId
THENAttribute value is not retrieved, 404 response is returned
Example Error Message“{0} is not a valid attribute”
HEAD_003 - attributeId exists
ElementDetails
Scenario IDHEAD_003
Scenario NameattributeId exists
HTTP Code200
GIVENThe total number of attribute values needs to be retrieved
WHENCalling the HEAD method of the API
BUT
THEN200 response is returned with header x-u4-totalcount: {count}
Example Error MessageRESPONSE: Header x-u4-totalcount: 6

   

Sample Request

{
  "path": "/description",
  "op": "replace",
  "value": "new description"
}
{
  "path": "/relatedValues/1/relatedValue",
  "op": "replace",
  "value": "TEST2"
}
{
  "path": "/relatedValues/-",
  "op": "add",
  "value": {
    "unitValue": 0,
    "relationGroup": "",
    "relationId": "1002",
    "relationName": "TEST2",
    "relatedValue": "TEST2",
    "percentage": 100,
    "dateFrom": "1900-01-01T00:00:00.000",
    "dateTo": "2099-12-31T00:00:00.000"
  }
}
{
  "op": "add",
  "path": "/contactPoints/-",
  "value": {
    "additionalContactInfo": {
      "contactPerson": "",
      "contactPosition": "",
      "eMail": "",
      "eMailCc": "",
      "gtin": "",
      "url": ""
    },
    "address": {
      "countryCode": "AL",
      "place": "",
      "postcode": "",
      "province": "",
      "streetAddress": ""
    },
    "contactPointType": "1",
    "phoneNumbers": {
      "telephone1": "",
      "telephone2": "",
      "telephone3": "",
      "telephone4": "",
      "telephone5": "",
      "telephone6": "",
      "telephone7": ""
    },
    "sortOrder": 0
  }
}
{
  "path": "/contactPoints/2/phoneNumbers/telephone1",
  "op": "replace",
  "value": "666999555"
}
   

Additional Parameters

The following parameters help update attribute value information:

ParameterValueDescriptionData TypeDefault Value
companyIdoptionalSpecify if you wish to update an attribute value that exists in a specific company or client.stringempty

   

Limits & Notes

  • One attribute value per call.
  • Not allowed to modify AttributeName and AttributeId fields.
  • Only attributes with manual maintenance.
  • Patch operators available: replace, add, remove

   

Validation Rules for PATCH Method

PATCH_001 - User is not authorised
ElementDetails
Scenario IDPATCH_001
Scenario NameUser is not authorised
HTTP Code403
GIVENExisting attribute value needs to be modified
WHENCalling the PATCH method of the API
BUTUser does NOT have permissions
THENAPI is not reached; 403 response is returned
Example Error Message“User is not authorised.”
PATCH_002 - Missing mandatory fields
ElementDetails
Scenario IDPATCH_002
Scenario NameMissing mandatory fields
HTTP Code422
GIVENExisting attribute value needs to be modified
WHENCalling the PATCH method of the API
BUTMandatory field is missing
THENData is not updated; 422 response is returned
Example Error Message“The {0} field is required”
PATCH_003 - Invalid format of fields
ElementDetails
Scenario IDPATCH_003
Scenario NameInvalid format of fields
HTTP Code422
GIVENExisting attribute value needs to be modified
WHENCalling the PATCH method of the API
BUTField format is invalid
THENData is not updated; 422 response is returned
Example Error Message“Invalid date time format…” / “Error converting value {0} to type ‘{1}’…”
PATCH_004 - Unknown companyID
ElementDetails
Scenario IDPATCH_004
Scenario NameUnknown companyID
HTTP Code422
GIVENExisting attribute value needs to be modified
WHENCalling the PATCH method of the API
BUTInvalid companyID
THENData is not updated; 422 response is returned
Example Error Message“Unknown {0}”
PATCH_005 - AttributeId does not exist
ElementDetails
Scenario IDPATCH_005
Scenario NameAttributeId does not exist
HTTP Code404
GIVENExisting attribute value needs to be modified
WHENCalling the PATCH method of the API
BUTAttributeId does not exist
THENData is not updated; 404 response is returned
Example Error Message“{0} is not a valid attribute”
PATCH_006 - Period does not exist
ElementDetails
Scenario IDPATCH_006
Scenario NamePeriod does not exist
HTTP Code404
GIVENExisting attribute value needs to be modified
WHENCalling the PATCH method of the API
BUTPeriod does not exist
THENData is not updated; 404 response is returned
Example Error Message“Attribute id {0} with attribute value of {1} is not found”
PATCH_007 - Missing mandatory parameters for operation
ElementDetails
Scenario IDPATCH_007
Scenario NameRequest does not have mandatory parameters
HTTP Code400
GIVENExisting attribute value needs to be modified
WHENCalling the PATCH method of the API with operation
BUTRequired parameter is not present on the request
THENData is not updated; 400 response is returned
Example Error Message“The {0}-property of the patch-element must be given…”
PATCH_008 - Modify description for attribute value
ElementDetails
Scenario IDPATCH_008
Scenario NameModify description for attribute value
HTTP Code200
GIVENExisting attribute value needs to be modified
WHENCalling the PATCH method of the API
BUT
THEN200 response is returned together with the information of the attribute value
Example Error MessageRESPONSE: attribute value information is retrieved with modified description
PATCH_009 - Update relatedValue for attribute value
ElementDetails
Scenario IDPATCH_009
Scenario NameUpdate relatedValue for attribute value
HTTP Code200
GIVENRelatedValue for the first relation of the attribute value needs to be updated
WHENCalling the PATCH method of the API
BUT
THEN200 response is returned together with the information of the attribute value
Example Error MessageRESPONSE: attribute value information is retrieved with relations and contact points
PATCH_010 - Add relation for attribute value
ElementDetails
Scenario IDPATCH_010
Scenario NameAdd relation for attribute value
HTTP Code200
GIVENA new relation for the attribute value needs to be created
WHENCalling the PATCH method of the API
BUT
THEN200 response is returned together with the information of the attribute value
Example Error MessageRESPONSE: attribute value information is retrieved with relations and contact points
PATCH_011 - Relation already exists
ElementDetails
Scenario IDPATCH_011
Scenario NameAdd relation for attribute value but the relation already exists
HTTP Code422
GIVENA new relation for the attribute value needs to be created
WHENCalling the PATCH method of the API
BUTRelation already exists
THEN200 response is returned together with the information of the attribute value
Example Error Message“{0} : {1} is already connected to {2}: {3} on client {4}. Duplicates or overlaps are not allowed”
PATCH_012 - Cannot change contact point type
ElementDetails
Scenario IDPATCH_012
Scenario NameChange contact point type for attribute value
HTTP Code422
GIVENContact point type for the attribute value needs to be changed
WHENCalling the PATCH method of the API
BUT
THENData is not updated; 422 response is returned
Example Error Message“PatchOperation index 0: Updating key value ContactPointType is not supported.”
PATCH_013 - Contact point index out of range
ElementDetails
Scenario IDPATCH_013
Scenario NameChange non-existing contact point type for attribute value
HTTP Code422
GIVENTelephone1 for the third contact point of the attribute value needs to be changed
WHENCalling the PATCH method of the API
BUTAttribute value has only two contact points
THENData is not updated; 422 response is returned
Example Error Message“PatchOperation index 0: Provided index (2) is out of range”

   

Sample Request

DELETE /v1/attribute-values/C06/10000/199401?companyId=EN

   

Additional Parameters

The following parameters help to delete an attribute value:

ParameterValueDescriptionData TypeDefault Value
companyIdoptionalSpecify if you wish to delete an attribute value that exists in a specific company or client.stringempty

   

Limits & Notes

  • Changes the status to ‘C’ (Closed).
  • Only one delete per call.
  • Only attributes with manual maintenance.
  • Does not permanently delete the attribute value - this is a soft delete.

   

Validation Rules for DELETE Method

DEL_001 - User is not authorised
ElementDetails
Scenario IDDEL_001
Scenario NameUser is not authorised
HTTP Code403
GIVENAttribute value needs to be ‘Closed’
WHENCalling the DELETE method of the API
BUTUser is not authorised
THENAPI is not reached; 403 response is returned
Example Error Message or Response“User is not authorised.”
DEL_002 - Missing required parameters
ElementDetails
Scenario IDDEL_002
Scenario NameMissing required parameters
HTTP Code404
GIVENAttribute value needs to be ‘Closed’
WHENCalling the DELETE method of the API
BUTRequired parameter is missing
THENAPI is not reached; 404 response is returned
Example Error Message or Response“No HTTP resource was found matching {0}”
DEL_003 - Attribute value does not exist
ElementDetails
Scenario IDDEL_003
Scenario NameAttribute value does not exist
HTTP Code404
GIVENAttribute value needs to be ‘Closed’
WHENCalling the DELETE method of the API
BUTAttribute value does not exist
THENNo deletion; 404 response is returned
Example Error Message or Response“The entity of the following parameters [Company: {0}, Attribute ID: {1}, Attribute value: {2}, Period from: {3}] was not found”
DEL_004 - Attribute value exists
ElementDetails
Scenario IDDEL_004
Scenario NameAttribute value exists
HTTP Code200
GIVENAttribute value needs to be ‘Closed’
WHENCalling the DELETE method of the API
BUT
THENAttribute value is ‘Closed’; 200 response is returned
Example Error Message or Response(Empty message - no content)
DEL_005 - Attribute value has wrong maintenance type
ElementDetails
Scenario IDDEL_005
Scenario NameAttribute value exists but has wrong maintenance
HTTP Code400
GIVENAttribute value needs to be ‘Closed’
WHENCalling the DELETE method of the API
BUTAttribute does not allow manual maintenance
THENNo deletion; 400 response is returned
Example Error Message or Response“Unable to delete the attribute value with the following parameters: Company: {0}, Attribute ID: {1}, Attribute value: {2}, Period from: {3}. You cannot maintain attribute values for {1} in this window”
   

Best Practices

  • The object-based API model (/v1/objects/attribute-values) may differ from the payload schema expected by the programmatic POST endpoint (/v1/attribute-values). To keep them consistent, use the programmatic GET response as the source of truth and mirror that shape in your POST requests.
  • Verify attribute maintenance setup before attempting POST, PATCH, or DELETE operations. Only attributes with manual maintenance (M) can be modified via API.
  • Check attribute configuration for contact point support before including contact points in requests.
  • Validate relations exist before creating attribute values with related values. Relations must be pre-configured in the system.
  • Use the GET (multiple) endpoint with OData filters for efficient data retrieval and to avoid retrieving unnecessary data.
  • Leverage the HEAD method to get counts before retrieving large datasets.
  • Use Swagger UI for testing and schema validation before production calls.
  • Handle error codes gracefully - implement retry/backoff logic according to global rate limits.
  • Always check for deprecation alerts on this endpoint version.
  • Validate attribute values before sending DELETE requests to avoid unintentional data loss.
  • Remember soft delete behavior - DELETE changes status to ‘C’ but does not permanently remove the record.

   

Action APIs