curl --request POST \
--url http://localhost:3001/api/public/apps/group \
--header 'Content-Type: application/json' \
--header 'PublicWriteKey: <api-key>' \
--header 'authorization: <authorization>' \
--data '
{
"messageId": "<string>",
"groupId": "<string>",
"userId": "<string>",
"timestamp": "<string>",
"assigned": true,
"traits": {},
"context": {}
}
'import requests
url = "http://localhost:3001/api/public/apps/group"
payload = {
"messageId": "<string>",
"groupId": "<string>",
"userId": "<string>",
"timestamp": "<string>",
"assigned": True,
"traits": {},
"context": {}
}
headers = {
"authorization": "<authorization>",
"PublicWriteKey": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
authorization: '<authorization>',
PublicWriteKey: '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
messageId: '<string>',
groupId: '<string>',
userId: '<string>',
timestamp: '<string>',
assigned: true,
traits: {},
context: {}
})
};
fetch('http://localhost:3001/api/public/apps/group', 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 => "3001",
CURLOPT_URL => "http://localhost:3001/api/public/apps/group",
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([
'messageId' => '<string>',
'groupId' => '<string>',
'userId' => '<string>',
'timestamp' => '<string>',
'assigned' => true,
'traits' => [
],
'context' => [
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"PublicWriteKey: <api-key>",
"authorization: <authorization>"
],
]);
$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://localhost:3001/api/public/apps/group"
payload := strings.NewReader("{\n \"messageId\": \"<string>\",\n \"groupId\": \"<string>\",\n \"userId\": \"<string>\",\n \"timestamp\": \"<string>\",\n \"assigned\": true,\n \"traits\": {},\n \"context\": {}\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("authorization", "<authorization>")
req.Header.Add("PublicWriteKey", "<api-key>")
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("http://localhost:3001/api/public/apps/group")
.header("authorization", "<authorization>")
.header("PublicWriteKey", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"messageId\": \"<string>\",\n \"groupId\": \"<string>\",\n \"userId\": \"<string>\",\n \"timestamp\": \"<string>\",\n \"assigned\": true,\n \"traits\": {},\n \"context\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("http://localhost:3001/api/public/apps/group")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url)
request["authorization"] = '<authorization>'
request["PublicWriteKey"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"messageId\": \"<string>\",\n \"groupId\": \"<string>\",\n \"userId\": \"<string>\",\n \"timestamp\": \"<string>\",\n \"assigned\": true,\n \"traits\": {},\n \"context\": {}\n}"
response = http.request(request)
puts response.read_bodyPOST /api/public/apps/group
The group call lets you assign or unassign a user to a group, along with optionally adding traits to the group.
curl --request POST \
--url http://localhost:3001/api/public/apps/group \
--header 'Content-Type: application/json' \
--header 'PublicWriteKey: <api-key>' \
--header 'authorization: <authorization>' \
--data '
{
"messageId": "<string>",
"groupId": "<string>",
"userId": "<string>",
"timestamp": "<string>",
"assigned": true,
"traits": {},
"context": {}
}
'import requests
url = "http://localhost:3001/api/public/apps/group"
payload = {
"messageId": "<string>",
"groupId": "<string>",
"userId": "<string>",
"timestamp": "<string>",
"assigned": True,
"traits": {},
"context": {}
}
headers = {
"authorization": "<authorization>",
"PublicWriteKey": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
authorization: '<authorization>',
PublicWriteKey: '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
messageId: '<string>',
groupId: '<string>',
userId: '<string>',
timestamp: '<string>',
assigned: true,
traits: {},
context: {}
})
};
fetch('http://localhost:3001/api/public/apps/group', 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 => "3001",
CURLOPT_URL => "http://localhost:3001/api/public/apps/group",
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([
'messageId' => '<string>',
'groupId' => '<string>',
'userId' => '<string>',
'timestamp' => '<string>',
'assigned' => true,
'traits' => [
],
'context' => [
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"PublicWriteKey: <api-key>",
"authorization: <authorization>"
],
]);
$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://localhost:3001/api/public/apps/group"
payload := strings.NewReader("{\n \"messageId\": \"<string>\",\n \"groupId\": \"<string>\",\n \"userId\": \"<string>\",\n \"timestamp\": \"<string>\",\n \"assigned\": true,\n \"traits\": {},\n \"context\": {}\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("authorization", "<authorization>")
req.Header.Add("PublicWriteKey", "<api-key>")
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("http://localhost:3001/api/public/apps/group")
.header("authorization", "<authorization>")
.header("PublicWriteKey", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"messageId\": \"<string>\",\n \"groupId\": \"<string>\",\n \"userId\": \"<string>\",\n \"timestamp\": \"<string>\",\n \"assigned\": true,\n \"traits\": {},\n \"context\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("http://localhost:3001/api/public/apps/group")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url)
request["authorization"] = '<authorization>'
request["PublicWriteKey"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"messageId\": \"<string>\",\n \"groupId\": \"<string>\",\n \"userId\": \"<string>\",\n \"timestamp\": \"<string>\",\n \"assigned\": true,\n \"traits\": {},\n \"context\": {}\n}"
response = http.request(request)
puts response.read_bodyAuthorizations
Authorization header for the request, in the format Bearer <token>. Find your token at https://app.dittofeed.com/dashboard/settings#write-key.
Headers
Authorization header for the request, in the format Bearer <token>. Find your token at https://app.dittofeed.com/dashboard/settings#write-key.
Body
- Option 1
- Option 2
Unique identifier for the message, used as an idempotency key for safe retries. Can provide a UUID.
"23d04926-78e5-4ebc-853f-f26c84ff629e"
Unique identifier for the user. Should be the id of the user in your system. Only applicable to logged in users.
"1043"
"user-123"
"0a58e5e4-c753-477e-a6c4-f9b0e3396b9b"
ISO 8601 formatted timestamp of when the event occurred. If not provided, the current server time will be used.
"2024-04-22T07:00:00.000Z"
Traits of the group.
Show child attributes
Show child attributes
Provides metadata about the user submitting the event and the context in which the event occurred.
Show child attributes
Show child attributes
{ "ip": "192.0.2.1" }
Response
Default Response

