curl --request PUT \
--url http://10.2.4.166:8080/composer/api/sources/{sourceId}/fields/{fieldName} \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/vnd.composer.v3+json' \
--data '
{
"origin": {
"derivedOrigin": {
"expression": "sales * 100",
"calendarId": "<string>",
"referencedFieldNames": [
"<string>"
]
}
},
"name": "field_name",
"label": "Field Label",
"visible": true,
"format": {
"time": {
"timeZone": "UTC",
"options": {
"hour12": true
}
}
},
"statistics": {
"override": {
"min": 123,
"max": 123,
"distinctValues": [
"<unknown>"
]
},
"cacheEnabled": true,
"refreshable": true,
"cardinality": 123
},
"facetFiltering": {
"enabled": true,
"order": 2
},
"disabledCapabilities": [
"<string>"
],
"fieldMetadata": {},
"rawFormatSupportTimeGroup": true,
"fieldName": "<string>",
"originalFieldName": "<string>"
}
'import requests
url = "http://10.2.4.166:8080/composer/api/sources/{sourceId}/fields/{fieldName}"
payload = {
"origin": { "derivedOrigin": {
"expression": "sales * 100",
"calendarId": "<string>",
"referencedFieldNames": ["<string>"]
} },
"name": "field_name",
"label": "Field Label",
"visible": True,
"format": { "time": {
"timeZone": "UTC",
"options": { "hour12": True }
} },
"statistics": {
"override": {
"min": 123,
"max": 123,
"distinctValues": ["<unknown>"]
},
"cacheEnabled": True,
"refreshable": True,
"cardinality": 123
},
"facetFiltering": {
"enabled": True,
"order": 2
},
"disabledCapabilities": ["<string>"],
"fieldMetadata": {},
"rawFormatSupportTimeGroup": True,
"fieldName": "<string>",
"originalFieldName": "<string>"
}
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/vnd.composer.v3+json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {
Authorization: 'Basic <encoded-value>',
'Content-Type': 'application/vnd.composer.v3+json'
},
body: JSON.stringify({
origin: {
derivedOrigin: {
expression: 'sales * 100',
calendarId: '<string>',
referencedFieldNames: ['<string>']
}
},
name: 'field_name',
label: 'Field Label',
visible: true,
format: {time: {timeZone: 'UTC', options: {hour12: true}}},
statistics: {
override: {min: 123, max: 123, distinctValues: ['<unknown>']},
cacheEnabled: true,
refreshable: true,
cardinality: 123
},
facetFiltering: {enabled: true, order: 2},
disabledCapabilities: ['<string>'],
fieldMetadata: {},
rawFormatSupportTimeGroup: true,
fieldName: '<string>',
originalFieldName: '<string>'
})
};
fetch('http://10.2.4.166:8080/composer/api/sources/{sourceId}/fields/{fieldName}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "8080",
CURLOPT_URL => "http://10.2.4.166:8080/composer/api/sources/{sourceId}/fields/{fieldName}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'origin' => [
'derivedOrigin' => [
'expression' => 'sales * 100',
'calendarId' => '<string>',
'referencedFieldNames' => [
'<string>'
]
]
],
'name' => 'field_name',
'label' => 'Field Label',
'visible' => true,
'format' => [
'time' => [
'timeZone' => 'UTC',
'options' => [
'hour12' => true
]
]
],
'statistics' => [
'override' => [
'min' => 123,
'max' => 123,
'distinctValues' => [
'<unknown>'
]
],
'cacheEnabled' => true,
'refreshable' => true,
'cardinality' => 123
],
'facetFiltering' => [
'enabled' => true,
'order' => 2
],
'disabledCapabilities' => [
'<string>'
],
'fieldMetadata' => [
],
'rawFormatSupportTimeGroup' => true,
'fieldName' => '<string>',
'originalFieldName' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"Content-Type: application/vnd.composer.v3+json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "http://10.2.4.166:8080/composer/api/sources/{sourceId}/fields/{fieldName}"
payload := strings.NewReader("{\n \"origin\": {\n \"derivedOrigin\": {\n \"expression\": \"sales * 100\",\n \"calendarId\": \"<string>\",\n \"referencedFieldNames\": [\n \"<string>\"\n ]\n }\n },\n \"name\": \"field_name\",\n \"label\": \"Field Label\",\n \"visible\": true,\n \"format\": {\n \"time\": {\n \"timeZone\": \"UTC\",\n \"options\": {\n \"hour12\": true\n }\n }\n },\n \"statistics\": {\n \"override\": {\n \"min\": 123,\n \"max\": 123,\n \"distinctValues\": [\n \"<unknown>\"\n ]\n },\n \"cacheEnabled\": true,\n \"refreshable\": true,\n \"cardinality\": 123\n },\n \"facetFiltering\": {\n \"enabled\": true,\n \"order\": 2\n },\n \"disabledCapabilities\": [\n \"<string>\"\n ],\n \"fieldMetadata\": {},\n \"rawFormatSupportTimeGroup\": true,\n \"fieldName\": \"<string>\",\n \"originalFieldName\": \"<string>\"\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "Basic <encoded-value>")
req.Header.Add("Content-Type", "application/vnd.composer.v3+json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("http://10.2.4.166:8080/composer/api/sources/{sourceId}/fields/{fieldName}")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/vnd.composer.v3+json")
.body("{\n \"origin\": {\n \"derivedOrigin\": {\n \"expression\": \"sales * 100\",\n \"calendarId\": \"<string>\",\n \"referencedFieldNames\": [\n \"<string>\"\n ]\n }\n },\n \"name\": \"field_name\",\n \"label\": \"Field Label\",\n \"visible\": true,\n \"format\": {\n \"time\": {\n \"timeZone\": \"UTC\",\n \"options\": {\n \"hour12\": true\n }\n }\n },\n \"statistics\": {\n \"override\": {\n \"min\": 123,\n \"max\": 123,\n \"distinctValues\": [\n \"<unknown>\"\n ]\n },\n \"cacheEnabled\": true,\n \"refreshable\": true,\n \"cardinality\": 123\n },\n \"facetFiltering\": {\n \"enabled\": true,\n \"order\": 2\n },\n \"disabledCapabilities\": [\n \"<string>\"\n ],\n \"fieldMetadata\": {},\n \"rawFormatSupportTimeGroup\": true,\n \"fieldName\": \"<string>\",\n \"originalFieldName\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("http://10.2.4.166:8080/composer/api/sources/{sourceId}/fields/{fieldName}")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/vnd.composer.v3+json'
request.body = "{\n \"origin\": {\n \"derivedOrigin\": {\n \"expression\": \"sales * 100\",\n \"calendarId\": \"<string>\",\n \"referencedFieldNames\": [\n \"<string>\"\n ]\n }\n },\n \"name\": \"field_name\",\n \"label\": \"Field Label\",\n \"visible\": true,\n \"format\": {\n \"time\": {\n \"timeZone\": \"UTC\",\n \"options\": {\n \"hour12\": true\n }\n }\n },\n \"statistics\": {\n \"override\": {\n \"min\": 123,\n \"max\": 123,\n \"distinctValues\": [\n \"<unknown>\"\n ]\n },\n \"cacheEnabled\": true,\n \"refreshable\": true,\n \"cardinality\": 123\n },\n \"facetFiltering\": {\n \"enabled\": true,\n \"order\": 2\n },\n \"disabledCapabilities\": [\n \"<string>\"\n ],\n \"fieldMetadata\": {},\n \"rawFormatSupportTimeGroup\": true,\n \"fieldName\": \"<string>\",\n \"originalFieldName\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"origin": {
"type": "NATIVE",
"nativeOrigin": {
"originalName": "field_name",
"originalType": "TIME",
"dataEntityId": "data_entity_1",
"rawFormat": {},
"metaFlags": [
"PLAYABLE"
],
"partitionedBy": {
"field": "<string>",
"function": "MURMUR3_HASH"
}
},
"derivedOrigin": {
"expression": "sales * 100",
"calendarId": "<string>",
"referencedFieldNames": [
"<string>"
]
},
"hierarchyOrigin": {
"childParent": {
"childField": "<string>",
"parentField": "<string>"
},
"labelField": "<string>"
}
},
"name": "field_name",
"label": "Field Label",
"visible": true,
"defaultMetric": "avg",
"dataType": "ATTRIBUTE",
"format": {
"time": {
"granularity": "MILLISECOND",
"timeZone": "UTC",
"options": {
"second": "NUMERIC",
"minute": "NUMERIC",
"hour": "NUMERIC",
"day": "NUMERIC",
"weekday": "LONG",
"week": "TWO_DIGIT",
"month": "NUMERIC",
"quarter": "TWO_DIGIT",
"year": "NUMERIC",
"dayOfYear": "NUMERIC",
"hour12": true
}
},
"number": {
"type": "PLAIN",
"decimals": 2,
"separator": true,
"negative": "SIGNED",
"standardUnit": "NONE",
"storageUnit": "BYTES",
"currencyCode": "USD"
},
"url": {
"type": "LINK",
"src": "<string>",
"width": 123,
"height": 123
}
},
"statistics": {
"override": {
"min": 123,
"max": 123,
"distinctValues": [
"<unknown>"
]
},
"cacheEnabled": true,
"refreshable": true,
"lookup": {
"raw": {
"dataEntityId": "<string>",
"originalFieldName": "<string>"
}
},
"cardinality": 123
},
"facetFiltering": {
"enabled": true,
"order": 2
},
"granularity": "MILLISECOND",
"disabledCapabilities": [
"<string>"
],
"fieldMetadata": {},
"rawFormatSupportTimeGroup": true,
"fieldName": "<string>",
"originalFieldName": "<string>"
}{
"origin": {
"type": "NATIVE",
"nativeOrigin": {
"originalName": "field_name",
"originalType": "TIME",
"dataEntityId": "data_entity_1",
"rawFormat": {},
"metaFlags": [
"PLAYABLE"
],
"partitionedBy": {
"field": "<string>",
"function": "MURMUR3_HASH"
}
},
"derivedOrigin": {
"expression": "sales * 100",
"calendarId": "<string>",
"referencedFieldNames": [
"<string>"
]
},
"hierarchyOrigin": {
"childParent": {
"childField": "<string>",
"parentField": "<string>"
},
"labelField": "<string>"
}
},
"name": "field_name",
"label": "Field Label",
"visible": true,
"defaultMetric": "avg",
"dataType": "ATTRIBUTE",
"format": {
"time": {
"granularity": "MILLISECOND",
"timeZone": "UTC",
"options": {
"second": "NUMERIC",
"minute": "NUMERIC",
"hour": "NUMERIC",
"day": "NUMERIC",
"weekday": "LONG",
"week": "TWO_DIGIT",
"month": "NUMERIC",
"quarter": "TWO_DIGIT",
"year": "NUMERIC",
"dayOfYear": "NUMERIC",
"hour12": true
}
},
"number": {
"type": "PLAIN",
"decimals": 2,
"separator": true,
"negative": "SIGNED",
"standardUnit": "NONE",
"storageUnit": "BYTES",
"currencyCode": "USD"
},
"url": {
"type": "LINK",
"src": "<string>",
"width": 123,
"height": 123
}
},
"statistics": {
"override": {
"min": 123,
"max": 123,
"distinctValues": [
"<unknown>"
]
},
"cacheEnabled": true,
"refreshable": true,
"lookup": {
"raw": {
"dataEntityId": "<string>",
"originalFieldName": "<string>"
}
},
"cardinality": 123
},
"facetFiltering": {
"enabled": true,
"order": 2
},
"granularity": "MILLISECOND",
"disabledCapabilities": [
"<string>"
],
"fieldMetadata": {},
"rawFormatSupportTimeGroup": true,
"fieldName": "<string>",
"originalFieldName": "<string>"
}{
"error": "<string>",
"details": "<string>",
"message": "<string>",
"path": "<string>",
"status": "<string>",
"code": "<string>",
"errorCode": "<string>",
"timestamp": "<string>",
"problems": [
{
"name": "<string>",
"message": "<string>",
"level": "ERROR",
"dependencies": {}
}
]
}{
"timestamp": "2023-11-07T05:31:56Z",
"status": 123,
"error": "<string>",
"message": "<string>",
"path": "<string>"
}{
"error": "<string>",
"details": "<string>",
"message": "<string>",
"path": "<string>",
"status": "<string>",
"code": "<string>",
"errorCode": "<string>",
"timestamp": "<string>",
"problems": [
{
"name": "<string>",
"message": "<string>",
"level": "ERROR",
"dependencies": {}
}
]
}{
"error": "<string>",
"details": "<string>",
"message": "<string>",
"path": "<string>",
"status": "<string>",
"code": "<string>",
"errorCode": "<string>",
"timestamp": "<string>",
"problems": [
{
"name": "<string>",
"message": "<string>",
"level": "ERROR",
"dependencies": {}
}
]
}Updates or creates a data source field
Requires WRITE permission on the source or READ permission on the source and ROLE_EDIT_FORMULAS for derived field editing
curl --request PUT \
--url http://10.2.4.166:8080/composer/api/sources/{sourceId}/fields/{fieldName} \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/vnd.composer.v3+json' \
--data '
{
"origin": {
"derivedOrigin": {
"expression": "sales * 100",
"calendarId": "<string>",
"referencedFieldNames": [
"<string>"
]
}
},
"name": "field_name",
"label": "Field Label",
"visible": true,
"format": {
"time": {
"timeZone": "UTC",
"options": {
"hour12": true
}
}
},
"statistics": {
"override": {
"min": 123,
"max": 123,
"distinctValues": [
"<unknown>"
]
},
"cacheEnabled": true,
"refreshable": true,
"cardinality": 123
},
"facetFiltering": {
"enabled": true,
"order": 2
},
"disabledCapabilities": [
"<string>"
],
"fieldMetadata": {},
"rawFormatSupportTimeGroup": true,
"fieldName": "<string>",
"originalFieldName": "<string>"
}
'import requests
url = "http://10.2.4.166:8080/composer/api/sources/{sourceId}/fields/{fieldName}"
payload = {
"origin": { "derivedOrigin": {
"expression": "sales * 100",
"calendarId": "<string>",
"referencedFieldNames": ["<string>"]
} },
"name": "field_name",
"label": "Field Label",
"visible": True,
"format": { "time": {
"timeZone": "UTC",
"options": { "hour12": True }
} },
"statistics": {
"override": {
"min": 123,
"max": 123,
"distinctValues": ["<unknown>"]
},
"cacheEnabled": True,
"refreshable": True,
"cardinality": 123
},
"facetFiltering": {
"enabled": True,
"order": 2
},
"disabledCapabilities": ["<string>"],
"fieldMetadata": {},
"rawFormatSupportTimeGroup": True,
"fieldName": "<string>",
"originalFieldName": "<string>"
}
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/vnd.composer.v3+json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {
Authorization: 'Basic <encoded-value>',
'Content-Type': 'application/vnd.composer.v3+json'
},
body: JSON.stringify({
origin: {
derivedOrigin: {
expression: 'sales * 100',
calendarId: '<string>',
referencedFieldNames: ['<string>']
}
},
name: 'field_name',
label: 'Field Label',
visible: true,
format: {time: {timeZone: 'UTC', options: {hour12: true}}},
statistics: {
override: {min: 123, max: 123, distinctValues: ['<unknown>']},
cacheEnabled: true,
refreshable: true,
cardinality: 123
},
facetFiltering: {enabled: true, order: 2},
disabledCapabilities: ['<string>'],
fieldMetadata: {},
rawFormatSupportTimeGroup: true,
fieldName: '<string>',
originalFieldName: '<string>'
})
};
fetch('http://10.2.4.166:8080/composer/api/sources/{sourceId}/fields/{fieldName}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "8080",
CURLOPT_URL => "http://10.2.4.166:8080/composer/api/sources/{sourceId}/fields/{fieldName}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'origin' => [
'derivedOrigin' => [
'expression' => 'sales * 100',
'calendarId' => '<string>',
'referencedFieldNames' => [
'<string>'
]
]
],
'name' => 'field_name',
'label' => 'Field Label',
'visible' => true,
'format' => [
'time' => [
'timeZone' => 'UTC',
'options' => [
'hour12' => true
]
]
],
'statistics' => [
'override' => [
'min' => 123,
'max' => 123,
'distinctValues' => [
'<unknown>'
]
],
'cacheEnabled' => true,
'refreshable' => true,
'cardinality' => 123
],
'facetFiltering' => [
'enabled' => true,
'order' => 2
],
'disabledCapabilities' => [
'<string>'
],
'fieldMetadata' => [
],
'rawFormatSupportTimeGroup' => true,
'fieldName' => '<string>',
'originalFieldName' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"Content-Type: application/vnd.composer.v3+json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "http://10.2.4.166:8080/composer/api/sources/{sourceId}/fields/{fieldName}"
payload := strings.NewReader("{\n \"origin\": {\n \"derivedOrigin\": {\n \"expression\": \"sales * 100\",\n \"calendarId\": \"<string>\",\n \"referencedFieldNames\": [\n \"<string>\"\n ]\n }\n },\n \"name\": \"field_name\",\n \"label\": \"Field Label\",\n \"visible\": true,\n \"format\": {\n \"time\": {\n \"timeZone\": \"UTC\",\n \"options\": {\n \"hour12\": true\n }\n }\n },\n \"statistics\": {\n \"override\": {\n \"min\": 123,\n \"max\": 123,\n \"distinctValues\": [\n \"<unknown>\"\n ]\n },\n \"cacheEnabled\": true,\n \"refreshable\": true,\n \"cardinality\": 123\n },\n \"facetFiltering\": {\n \"enabled\": true,\n \"order\": 2\n },\n \"disabledCapabilities\": [\n \"<string>\"\n ],\n \"fieldMetadata\": {},\n \"rawFormatSupportTimeGroup\": true,\n \"fieldName\": \"<string>\",\n \"originalFieldName\": \"<string>\"\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "Basic <encoded-value>")
req.Header.Add("Content-Type", "application/vnd.composer.v3+json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("http://10.2.4.166:8080/composer/api/sources/{sourceId}/fields/{fieldName}")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/vnd.composer.v3+json")
.body("{\n \"origin\": {\n \"derivedOrigin\": {\n \"expression\": \"sales * 100\",\n \"calendarId\": \"<string>\",\n \"referencedFieldNames\": [\n \"<string>\"\n ]\n }\n },\n \"name\": \"field_name\",\n \"label\": \"Field Label\",\n \"visible\": true,\n \"format\": {\n \"time\": {\n \"timeZone\": \"UTC\",\n \"options\": {\n \"hour12\": true\n }\n }\n },\n \"statistics\": {\n \"override\": {\n \"min\": 123,\n \"max\": 123,\n \"distinctValues\": [\n \"<unknown>\"\n ]\n },\n \"cacheEnabled\": true,\n \"refreshable\": true,\n \"cardinality\": 123\n },\n \"facetFiltering\": {\n \"enabled\": true,\n \"order\": 2\n },\n \"disabledCapabilities\": [\n \"<string>\"\n ],\n \"fieldMetadata\": {},\n \"rawFormatSupportTimeGroup\": true,\n \"fieldName\": \"<string>\",\n \"originalFieldName\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("http://10.2.4.166:8080/composer/api/sources/{sourceId}/fields/{fieldName}")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/vnd.composer.v3+json'
request.body = "{\n \"origin\": {\n \"derivedOrigin\": {\n \"expression\": \"sales * 100\",\n \"calendarId\": \"<string>\",\n \"referencedFieldNames\": [\n \"<string>\"\n ]\n }\n },\n \"name\": \"field_name\",\n \"label\": \"Field Label\",\n \"visible\": true,\n \"format\": {\n \"time\": {\n \"timeZone\": \"UTC\",\n \"options\": {\n \"hour12\": true\n }\n }\n },\n \"statistics\": {\n \"override\": {\n \"min\": 123,\n \"max\": 123,\n \"distinctValues\": [\n \"<unknown>\"\n ]\n },\n \"cacheEnabled\": true,\n \"refreshable\": true,\n \"cardinality\": 123\n },\n \"facetFiltering\": {\n \"enabled\": true,\n \"order\": 2\n },\n \"disabledCapabilities\": [\n \"<string>\"\n ],\n \"fieldMetadata\": {},\n \"rawFormatSupportTimeGroup\": true,\n \"fieldName\": \"<string>\",\n \"originalFieldName\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"origin": {
"type": "NATIVE",
"nativeOrigin": {
"originalName": "field_name",
"originalType": "TIME",
"dataEntityId": "data_entity_1",
"rawFormat": {},
"metaFlags": [
"PLAYABLE"
],
"partitionedBy": {
"field": "<string>",
"function": "MURMUR3_HASH"
}
},
"derivedOrigin": {
"expression": "sales * 100",
"calendarId": "<string>",
"referencedFieldNames": [
"<string>"
]
},
"hierarchyOrigin": {
"childParent": {
"childField": "<string>",
"parentField": "<string>"
},
"labelField": "<string>"
}
},
"name": "field_name",
"label": "Field Label",
"visible": true,
"defaultMetric": "avg",
"dataType": "ATTRIBUTE",
"format": {
"time": {
"granularity": "MILLISECOND",
"timeZone": "UTC",
"options": {
"second": "NUMERIC",
"minute": "NUMERIC",
"hour": "NUMERIC",
"day": "NUMERIC",
"weekday": "LONG",
"week": "TWO_DIGIT",
"month": "NUMERIC",
"quarter": "TWO_DIGIT",
"year": "NUMERIC",
"dayOfYear": "NUMERIC",
"hour12": true
}
},
"number": {
"type": "PLAIN",
"decimals": 2,
"separator": true,
"negative": "SIGNED",
"standardUnit": "NONE",
"storageUnit": "BYTES",
"currencyCode": "USD"
},
"url": {
"type": "LINK",
"src": "<string>",
"width": 123,
"height": 123
}
},
"statistics": {
"override": {
"min": 123,
"max": 123,
"distinctValues": [
"<unknown>"
]
},
"cacheEnabled": true,
"refreshable": true,
"lookup": {
"raw": {
"dataEntityId": "<string>",
"originalFieldName": "<string>"
}
},
"cardinality": 123
},
"facetFiltering": {
"enabled": true,
"order": 2
},
"granularity": "MILLISECOND",
"disabledCapabilities": [
"<string>"
],
"fieldMetadata": {},
"rawFormatSupportTimeGroup": true,
"fieldName": "<string>",
"originalFieldName": "<string>"
}{
"origin": {
"type": "NATIVE",
"nativeOrigin": {
"originalName": "field_name",
"originalType": "TIME",
"dataEntityId": "data_entity_1",
"rawFormat": {},
"metaFlags": [
"PLAYABLE"
],
"partitionedBy": {
"field": "<string>",
"function": "MURMUR3_HASH"
}
},
"derivedOrigin": {
"expression": "sales * 100",
"calendarId": "<string>",
"referencedFieldNames": [
"<string>"
]
},
"hierarchyOrigin": {
"childParent": {
"childField": "<string>",
"parentField": "<string>"
},
"labelField": "<string>"
}
},
"name": "field_name",
"label": "Field Label",
"visible": true,
"defaultMetric": "avg",
"dataType": "ATTRIBUTE",
"format": {
"time": {
"granularity": "MILLISECOND",
"timeZone": "UTC",
"options": {
"second": "NUMERIC",
"minute": "NUMERIC",
"hour": "NUMERIC",
"day": "NUMERIC",
"weekday": "LONG",
"week": "TWO_DIGIT",
"month": "NUMERIC",
"quarter": "TWO_DIGIT",
"year": "NUMERIC",
"dayOfYear": "NUMERIC",
"hour12": true
}
},
"number": {
"type": "PLAIN",
"decimals": 2,
"separator": true,
"negative": "SIGNED",
"standardUnit": "NONE",
"storageUnit": "BYTES",
"currencyCode": "USD"
},
"url": {
"type": "LINK",
"src": "<string>",
"width": 123,
"height": 123
}
},
"statistics": {
"override": {
"min": 123,
"max": 123,
"distinctValues": [
"<unknown>"
]
},
"cacheEnabled": true,
"refreshable": true,
"lookup": {
"raw": {
"dataEntityId": "<string>",
"originalFieldName": "<string>"
}
},
"cardinality": 123
},
"facetFiltering": {
"enabled": true,
"order": 2
},
"granularity": "MILLISECOND",
"disabledCapabilities": [
"<string>"
],
"fieldMetadata": {},
"rawFormatSupportTimeGroup": true,
"fieldName": "<string>",
"originalFieldName": "<string>"
}{
"error": "<string>",
"details": "<string>",
"message": "<string>",
"path": "<string>",
"status": "<string>",
"code": "<string>",
"errorCode": "<string>",
"timestamp": "<string>",
"problems": [
{
"name": "<string>",
"message": "<string>",
"level": "ERROR",
"dependencies": {}
}
]
}{
"timestamp": "2023-11-07T05:31:56Z",
"status": 123,
"error": "<string>",
"message": "<string>",
"path": "<string>"
}{
"error": "<string>",
"details": "<string>",
"message": "<string>",
"path": "<string>",
"status": "<string>",
"code": "<string>",
"errorCode": "<string>",
"timestamp": "<string>",
"problems": [
{
"name": "<string>",
"message": "<string>",
"level": "ERROR",
"dependencies": {}
}
]
}{
"error": "<string>",
"details": "<string>",
"message": "<string>",
"path": "<string>",
"status": "<string>",
"code": "<string>",
"errorCode": "<string>",
"timestamp": "<string>",
"problems": [
{
"name": "<string>",
"message": "<string>",
"level": "ERROR",
"dependencies": {}
}
]
}Authorizations
HTTP Basic authentication using global administrator credentials (username and password).
Query Parameters
The response to this API endpoint may return a validation error with a list of problems. Each problem has a level (ERROR, WARNING). Passing suppressWarnings=true will suppress all warnings and the request will succeed if there are no errors
If suppressWarning is true, then warning tags can be passed in this field. Any top level element(SOURCE/VISUAL/DASHBOARD) that may be impacted due to any WARNING will get these warning tags attached to them.
Body
Field origin. Each of the origin types corresponds to it’s own field definition block:
- NATIVE - nativeOrigin
- DERIVED - derivedOrigin
- HIERARCHY - hierarchyOrigin
Show child attributes
Show child attributes
Unique identifier of the field within the source across all fields and custom metrics. It's immutable and may be specified in create request only. It will be generated if it's missing in the request
255^[\p{L}_][\p{L}_\p{N}\.]*$"field_name"
User visible representation of the field. It will be generated if it's missing in the request
255"Field Label"
Whether the custom metric should be visible to users on a visual
Data author can control default metric selected for this field. All metric pickers will choose this metric by default. Possible values: AVG/MIN/MAX/SUM/DISTINCT_COUNT/COUNT Default value: COUNT for ATTRIBUTES and SUM for NUMBER
avg, min, max, sum, stddev_pop, stddev_samp, var_pop, var_samp, distinct_count, last_value, first_value, count, calc, percentile, median, listagg Data type of the field. It’s detected automatically based on the field origin if it wasn't defined
ATTRIBUTE, NUMBER, INTEGER, TIME, TEXT, HIERARCHY, NULL Format of the field value display
Show child attributes
Show child attributes
Field statistics configuration
Show child attributes
Show child attributes
Facet filtering cofiguration. Available only for sources with TEXT_SEARCH feature
Show child attributes
Show child attributes
The minimum time granularity of this field. Composer optimizes queries based on this field. Also, it controls allowed granularities on group by time picker. It is auto detected based on the sample from the data set if it’s missed in the create request
MILLISECOND, SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, QUARTER, YEAR List of disabled field capabilities
Field metadata as a JSON blob of key-value pairs
Show child attributes
Show child attributes
Deprecated legacy property, which duplicates 'name' parameter. Will be removed at 23.3
Deprecated legacy property, which duplicates 'origin.nativeOrigin.originalName' parameter. Will be removed at 23.3
Response
The field was updated
Field origin. Each of the origin types corresponds to it’s own field definition block:
- NATIVE - nativeOrigin
- DERIVED - derivedOrigin
- HIERARCHY - hierarchyOrigin
Show child attributes
Show child attributes
Unique identifier of the field within the source across all fields and custom metrics. It's immutable and may be specified in create request only. It will be generated if it's missing in the request
255^[\p{L}_][\p{L}_\p{N}\.]*$"field_name"
User visible representation of the field. It will be generated if it's missing in the request
255"Field Label"
Whether the custom metric should be visible to users on a visual
Data author can control default metric selected for this field. All metric pickers will choose this metric by default. Possible values: AVG/MIN/MAX/SUM/DISTINCT_COUNT/COUNT Default value: COUNT for ATTRIBUTES and SUM for NUMBER
avg, min, max, sum, stddev_pop, stddev_samp, var_pop, var_samp, distinct_count, last_value, first_value, count, calc, percentile, median, listagg Data type of the field. It’s detected automatically based on the field origin if it wasn't defined
ATTRIBUTE, NUMBER, INTEGER, TIME, TEXT, HIERARCHY, NULL Format of the field value display
Show child attributes
Show child attributes
Field statistics configuration
Show child attributes
Show child attributes
Facet filtering cofiguration. Available only for sources with TEXT_SEARCH feature
Show child attributes
Show child attributes
The minimum time granularity of this field. Composer optimizes queries based on this field. Also, it controls allowed granularities on group by time picker. It is auto detected based on the sample from the data set if it’s missed in the create request
MILLISECOND, SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, QUARTER, YEAR List of disabled field capabilities
Field metadata as a JSON blob of key-value pairs
Show child attributes
Show child attributes
Deprecated legacy property, which duplicates 'name' parameter. Will be removed at 23.3
Deprecated legacy property, which duplicates 'origin.nativeOrigin.originalName' parameter. Will be removed at 23.3
Was this page helpful?