Dimension Service API  2.0.0
api index

AttributeValue Object

since: 0.6
Represents a single value, of a specific data type, for an Attribute.

Values are assigned to and stored relative to a parent object (e.g. a Dimension Node); however, the set of possible Attributes, their data types, and validation constraints are defined separately (see: AttributeDefinition) and not as a part of this object.

Fields

attrID
0.6required when...
attrName is not set
string
The internal ID (in UUID canonical string format) of the previously-defined Attribute to which this value corresponds.

If both the attrID and attrName fields are present, then the id field should take precedent to avoid ambiguity in cases where the ID and name could be mismatched.

attrName
0.6required when...
attrID is not set
string
The name of the previously-defined Attribute to which this value corresponds; this name is used to identify the Attribute to external systems.

If both the attrID and attrName fields are present, then the id field should take precedent to avoid ambiguity in cases where the ID and name could be mismatched.

0.6 min length: 1
0.6 max length: 255
type
0.6required
string
Indicates the specific type of data held by this value object.
0.6 valid values:
  • base64
  • decimal
  • integer
  • percent
  • text
  • datetime
  • date
base64
0.6optional
string
Required when type is: base64

Encoded data must use only the ASCII symbols matching [A-Za-z0-9+/] and the ASCII character '=' used for trailing padding, as necessary. Binary content of zero(0) byte length is represented as the empty string ("").

content
0.6optional
string
Required when type is: base64

Specifies the type of data encoded in the base64 field. The value of this field should be a standard-compliant media (MIME) type; for example: application/octet-stream, image/jpeg, etc.

integer
0.6optional
string
Required when type is: integer

Supports signed integer values up to and including those values that can be represented as a 64-bit wide Two's Compliment binary number. With the exception of an optional leading sign (+ or -), all other symbols must be ASCII characters '0' through '9'.

The service will accept raw, native JSON integer values as well as quoted string versions of the same. However, the service will generally send values in string (enclosed in double-quote " characters); this is to avoid representation overflow issues on the recipient's side (e.g. receiving a 64-bit value for a 32-bit wide field) and to enable possible future support for values wider than 64 bits.

decimal
0.6optional
string
Required when type is one of:
  • decimal
  • percent

Supports signed decimal values of an exact, but arbitrary, precision. With the optional exceptions of a single leading sign (+ or -) and single decimal separator (.), all other symbols must be ASCII characters '0' through '9'.

This value is always in a standard machine-readable format and encodes values suited for use in mathematical computations. For example, the percentage value 10% is represented, mathematically, as 0.10.

The service will accept raw, native JSON decimal values as well as quoted string versions of the same. However, the service will generally send values in string (enclosed in double-quote " characters); this is to avoid representation and floating-point precision issues on the recipient's side. For instance, Javascript-based clients may translate a native JSON value into a 32- or 64-bit IEEE floating-point value which is incapable of exactly representing the value 0.01.

percent
0.6optional
string
Should be present when type is: percent.
If this field and decimal are both defined, preference should be given to the value of the decimal field; however, it is important to note the difference in scale between these two fields. This field has the decimal place shifted right by two(2) places.

Supports signed percentage values of an exact, but arbitrary, precision. With the optional exceptions of a single leading sign (+ or -) and single decimal separator (.), all other symbols must be ASCII characters '0' through '9'.

This value is always in a standard machine-readable format and encodes percentage values pre-scaled as often expected by Humans. For example, the percentage value 12.3% is represented in this field as 12.3. See the decimal field for the unscaled representation (0.123).

The service will accept raw, native JSON decimal values as well as quoted string versions of the same. However, the service will generally send values in string (enclosed in double-quote " characters); this is to avoid representation and floating-point precision issues on the recipient's side. For instance, Javascript-based clients may translate a native JSON value into a 32- or 64-bit IEEE floating-point value which is incapable of exactly representing the value 0.01.

text
0.6optional
string
Required when type is one of:
  • text

For other data types, this field may be provided as a convenience for display purposes. For example, numeric value types may format the value for a particular locale. Unless the data type is listed above as one for which this field is required, then recipients must not be required to read or parse this field.

datetime
0.6optional
string
Required when type is: datetime

Supports datetime values up to and including those values that can be represented as a valid datetime. Encoded data must meet ISO-8601 format [yyyy-MM-ddTHH:mm:ssZ].

date
0.6optional
string
Required when type is: date

Supports date values up to and including those values that can be represented as a valid date. Encoded data must meet ISO-8601 format [yyyy-MM-dd].

Related API Resources

Related API Objects

Example - text data (non-localized)

{
  "attrID"   :"c689acc7-ee13-3482-aa7b-c6a13419431a",
  "attrName" :"MY_SIMPLE_TEXT",
  "type"     :"text",
  "text"     :"Some text goes here."
}
  

Example - binary data (base-64 encoded)

{
  "attrID"   :"c689acc7-ee13-3482-aa7b-c6a13419431b",
  "attrName" :"MY_BINARY_DATA",
  "type"     :"base64",
  "base64"   :"VGhpcyBpcyBteSBiaW5hcnkgZGF0YS4=",
  "content"  :"application/octet-stream"
}
  

Example - integer value

{
  "attrID"   :"c689acc7-ee13-3482-aa7b-c6a13419431c",
  "attrName" :"MY_INTEGER",
  "type"     :"integer",
  "integer"  :"123456789",
  "text"     :"123,456,789"
}
  

Example - decimal value

{
  "attrID"   :"c689acc7-ee13-3482-aa7b-c6a13419431d",
  "attrName" :"MY_DECIMAL",
  "type"     :"decimal",
  "decimal"  :"1234.5678",
  "text"     :"1,234.5678"
}
  

Example - percent value

{
  "attrID"   :"c689acc7-ee13-3482-aa7b-c6a13419431e",
  "attrName" :"MY_PERCENT",
  "type"     :"percent",
  "decimal"  :"12.3456",
  "percent"  :"1234.56",
  "text"     :"1,234.56%"
}
  

Example - datetime value

    {
    "attrID"   :"c689acc7-ee13-3482-aa7b-c6a13419431f",
    "attrName" :"MY_DATETIME",
    "type"     :"datetime",
    "dateTime" :"2007-12-03T10:15:30Z",
    "text"     :"03/12/2007 10:15:30"
    }
  

Example - date value

    {
    "attrID"   :"c689acc7-ee13-3482-aa7b-c6a13419431g",
    "attrName" :"MY_DATE",
    "type"     :"date",
    "date"     :"2007-12-03",
    "text"     :"03/12/2007"
    }