Imports audience segment data for the specified Data Management Platform (DMP) by uploading a file.
Reference
POST https://YOUR-NETWORK-DOMAIN/rest-api/dmp/{dmpName}/data.do
Imports audience segment data for the specified Data Management Platform (DMP) by uploading a file. The file content is read as bytes and passed to the DMP file service for processing. The dmpName path variable must match a valid DMP enum value (case-insensitive). Requires DMP write permission for the authenticated user; returns a permission error if the user cannot create/edit data for the specified DMP. On success returns {"success":true}; on failure returns error details such as 'file is empty', 'wrong name', or 'server has global error'.
Path Params
dmpNamestringrequired
DMP platform. Accepts enum name or integer ID for backward compatibility
import fs from 'node:fs/promises';
const form = new FormData();
form.append('file', new Blob([await fs.readFile('data.csv')]), 'data.csv');
const response = await fetch('https://YOUR-NETWORK-DOMAIN/rest-api/dmp/FIRST_PARTY/data.do', {
method: 'POST',
headers: { 'X-Api-Key': 'YOUR_API_KEY' },
body: form,
});
console.log(await response.json());
Java Request
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://YOUR-NETWORK-DOMAIN/rest-api/dmp/FIRST_PARTY/data.do"))
.header("X-Api-Key", "YOUR_API_KEY")
// multipart upload: build the body with your HTTP library of choice
.method("POST", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
C# Request
using var client = new HttpClient();
var request = new HttpRequestMessage(new HttpMethod("POST"), "https://YOUR-NETWORK-DOMAIN/rest-api/dmp/FIRST_PARTY/data.do");
request.Headers.Add("X-Api-Key", "YOUR_API_KEY");
var form = new MultipartFormDataContent();
form.Add(new ByteArrayContent(File.ReadAllBytes("data.csv")), "file", "data.csv");
request.Content = form;
var response = await client.SendAsync(request);
Console.WriteLine(await response.Content.ReadAsStringAsync());
Go Request
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
req, _ := http.NewRequest("POST", "https://YOUR-NETWORK-DOMAIN/rest-api/dmp/FIRST_PARTY/data.do", nil)
req.Header.Set("X-Api-Key", "YOUR_API_KEY")
// multipart upload: build the body with mime/multipart
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
out, _ := io.ReadAll(res.Body)
fmt.Println(string(out))
}