Create Entity Field Mapping
Create a field mapping binding an external source field (from an ingestion config’s discovered external schema) to an internal entity-type field. Takes effect on the next sync of the ingestion config.
curl --request POST \
--url https://public.api.serval.com/v2/entity-field-mappings \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"ingestionConfigId": "<string>",
"internalFieldId": "<string>",
"externalFieldPath": "<string>",
"priority": 123
}
'import requests
url = "https://public.api.serval.com/v2/entity-field-mappings"
payload = {
"ingestionConfigId": "<string>",
"internalFieldId": "<string>",
"externalFieldPath": "<string>",
"priority": 123
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
ingestionConfigId: '<string>',
internalFieldId: '<string>',
externalFieldPath: '<string>',
priority: 123
})
};
fetch('https://public.api.serval.com/v2/entity-field-mappings', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://public.api.serval.com/v2/entity-field-mappings",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'ingestionConfigId' => '<string>',
'internalFieldId' => '<string>',
'externalFieldPath' => '<string>',
'priority' => 123
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/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 := "https://public.api.serval.com/v2/entity-field-mappings"
payload := strings.NewReader("{\n \"ingestionConfigId\": \"<string>\",\n \"internalFieldId\": \"<string>\",\n \"externalFieldPath\": \"<string>\",\n \"priority\": 123\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://public.api.serval.com/v2/entity-field-mappings")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"ingestionConfigId\": \"<string>\",\n \"internalFieldId\": \"<string>\",\n \"externalFieldPath\": \"<string>\",\n \"priority\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://public.api.serval.com/v2/entity-field-mappings")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"ingestionConfigId\": \"<string>\",\n \"internalFieldId\": \"<string>\",\n \"externalFieldPath\": \"<string>\",\n \"priority\": 123\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": "<string>",
"ingestionConfigId": "<string>",
"internalFieldId": "<string>",
"externalFieldPath": "<string>",
"priority": 123,
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
}
}{
"message": "<string>",
"detail": {
"type": "<string>",
"value": "<string>",
"debug": {}
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
The ingestion config that provides the source data (required). The mapping binds to this config's most recently discovered external schema; a sync must have run first (otherwise NOT_FOUND).
The internal entity-type field to populate (required).
Dot-notation path into the external record, e.g. "general.platform" (required). Read the available paths via GetExternalEntitySchema.
Precedence when multiple sources map to the same internal field (higher wins). Defaults to 1.0.
Response
Success
The created field mapping.
Show child attributes
Show child attributes
Was this page helpful?
curl --request POST \
--url https://public.api.serval.com/v2/entity-field-mappings \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"ingestionConfigId": "<string>",
"internalFieldId": "<string>",
"externalFieldPath": "<string>",
"priority": 123
}
'import requests
url = "https://public.api.serval.com/v2/entity-field-mappings"
payload = {
"ingestionConfigId": "<string>",
"internalFieldId": "<string>",
"externalFieldPath": "<string>",
"priority": 123
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
ingestionConfigId: '<string>',
internalFieldId: '<string>',
externalFieldPath: '<string>',
priority: 123
})
};
fetch('https://public.api.serval.com/v2/entity-field-mappings', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://public.api.serval.com/v2/entity-field-mappings",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'ingestionConfigId' => '<string>',
'internalFieldId' => '<string>',
'externalFieldPath' => '<string>',
'priority' => 123
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/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 := "https://public.api.serval.com/v2/entity-field-mappings"
payload := strings.NewReader("{\n \"ingestionConfigId\": \"<string>\",\n \"internalFieldId\": \"<string>\",\n \"externalFieldPath\": \"<string>\",\n \"priority\": 123\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://public.api.serval.com/v2/entity-field-mappings")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"ingestionConfigId\": \"<string>\",\n \"internalFieldId\": \"<string>\",\n \"externalFieldPath\": \"<string>\",\n \"priority\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://public.api.serval.com/v2/entity-field-mappings")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"ingestionConfigId\": \"<string>\",\n \"internalFieldId\": \"<string>\",\n \"externalFieldPath\": \"<string>\",\n \"priority\": 123\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": "<string>",
"ingestionConfigId": "<string>",
"internalFieldId": "<string>",
"externalFieldPath": "<string>",
"priority": 123,
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
}
}{
"message": "<string>",
"detail": {
"type": "<string>",
"value": "<string>",
"debug": {}
}
}
