PUT /api/v3/udf/{udfId}

Edits a user defined field / custom field

EditUDFV3 Permissions: ApplicationSettings (Manage)

Request Headers

Header Value Required Description
ECI-ApiKey string Yes Your API key. See Authentication.
Content-Type application/json Yes All requests must specify JSON content type, including the request body.

Path Parameters

Name Description Type Required
udfId integer (int32) Required

Request Body

UDFEdit
Property Description Type
description The description for the UDF. Not required, if left blank the description will not be updated. Must be between 0 and 128 characters string
displayOrder

The UDF's display order

A value of 1 or less will put this record the beginning of the list

A value greater than the stored max will put this record at the end of the list

When the old display order of the UDF being updated is less than the new specified display order, decrement the display order of all other UDFs falling between the old and new display order

When the old display order of the UDF being updated is greater than the new specified display order, increment the display order of all other UDFs falling between the old and new display order

All UDF lying outside the range of display orders being updated retain their original values

Required
integer (int32)
important Important flag for the UDF. UDFs marked as important will be highlighted during data entry. Not required, if left blank the flag’s value will not be changed. boolean
name The UDF’s name Required Must be between 0 and 32 characters string
udfSelectValues

An array of options to populate a UDF select list.

Required when the UDF being edited has a dataTypeId of 12 otherwise this will be ignored.

To remove an option from the select list, omit it from this array. Options that are in use may not be deleted. To add a new option, pass in null as the udfSelectValueId

UDFSelectValueEdit[]
UDFSelectValueEdit properties
Property Description Type
displayOrder The UDF select option’s display order Required integer (int32)
udfSelectValueId The UDF select value identifier. When creating a new option, assign null to this property. Required (defined) integer (int32)
value The UDF select option’s value Required Must be between 0 and 255 characters string
Example Request Body application/json
{  "description": "string",  "displayOrder": 1,  "important": false,  "name": "string",  "udfSelectValues": [
    {    "displayOrder": 1,    "udfSelectValueId": 1,    "value": "string"
  }
  ]
}

Responses

200 OK The request succeeded and the response body contains the requested data.

Response Body Parameters

UDFResponse
Property Description Type
count The number of times this custom field has been used. Required (defined) integer (int32)
dataType DataTypeResponse
DataTypeResponse properties
Property Description Type
dataTypeCode Required (defined) string
dataTypeId Required (defined) integer (int32)
dataTypeInfo Required (defined) string
description The description for the custom field. Required (defined) string
displayOrder The display order of the custom field. Required (defined) integer (int32)
important If true, this custom field is important. Required (defined) boolean
locked If true, then this udf is a system custom field Required (defined) boolean
name The name of the custom field. Required (defined) string
udfId The identifier of the custom field. Required (defined) integer (int32)
udfSelectValues Select values of the custom field, if it is a select list (DataType = 12). Required (defined) UDFSelectValueResponse[]
UDFSelectValueResponse properties
Property Description Type
count integer (int32)
displayOrder integer (int32)
udfSelectValueId integer (int32)
value string
udfType The type of the udf. Values include: Account, Meter, Vendor, Place, ChannelVersion, Rate, Bill, “EnergyProject”, “Collection”, and “EmissionSource”. Required (defined) string
Example Response application/json
{  "count": 1,  "dataType": {    "dataTypeCode": "string",    "dataTypeId": 1,    "dataTypeInfo": "string"
  },  "description": "string",  "displayOrder": 1,  "important": false,  "locked": false,  "name": "string",  "udfId": 1,  "udfSelectValues": [
    {    "count": 1,    "displayOrder": 1,    "udfSelectValueId": 1,    "value": "string"
  }
  ],  "udfType": "string"
}