Update Presence
curl --request POST \
--url https://api.tryreplicas.com/v1/presence \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"location": {
"environmentId": "<string>",
"workspaceId": "<string>"
}
}
'import requests
url = "https://api.tryreplicas.com/v1/presence"
payload = { "location": {
"environmentId": "<string>",
"workspaceId": "<string>"
} }
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({location: {environmentId: '<string>', workspaceId: '<string>'}})
};
fetch('https://api.tryreplicas.com/v1/presence', 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://api.tryreplicas.com/v1/presence",
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([
'location' => [
'environmentId' => '<string>',
'workspaceId' => '<string>'
]
]),
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://api.tryreplicas.com/v1/presence"
payload := strings.NewReader("{\n \"location\": {\n \"environmentId\": \"<string>\",\n \"workspaceId\": \"<string>\"\n }\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://api.tryreplicas.com/v1/presence")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"location\": {\n \"environmentId\": \"<string>\",\n \"workspaceId\": \"<string>\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.tryreplicas.com/v1/presence")
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 \"location\": {\n \"environmentId\": \"<string>\",\n \"workspaceId\": \"<string>\"\n }\n}"
response = http.request(request)
puts response.read_body{
"success": true
}{
"error": "<string>",
"details": "<string>"
}{
"error": "<string>",
"details": "<string>"
}{
"error": "<string>",
"details": "<string>"
}Presence
Update Presence
Reports the authenticated user’s presence: their status (online or typing) and optionally the location they are viewing. The user is always taken from the authenticated session, so callers cannot report presence on behalf of anyone else. Updates only broadcast to other members when the status or location actually changes.
POST
/
v1
/
presence
Update Presence
curl --request POST \
--url https://api.tryreplicas.com/v1/presence \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"location": {
"environmentId": "<string>",
"workspaceId": "<string>"
}
}
'import requests
url = "https://api.tryreplicas.com/v1/presence"
payload = { "location": {
"environmentId": "<string>",
"workspaceId": "<string>"
} }
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({location: {environmentId: '<string>', workspaceId: '<string>'}})
};
fetch('https://api.tryreplicas.com/v1/presence', 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://api.tryreplicas.com/v1/presence",
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([
'location' => [
'environmentId' => '<string>',
'workspaceId' => '<string>'
]
]),
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://api.tryreplicas.com/v1/presence"
payload := strings.NewReader("{\n \"location\": {\n \"environmentId\": \"<string>\",\n \"workspaceId\": \"<string>\"\n }\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://api.tryreplicas.com/v1/presence")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"location\": {\n \"environmentId\": \"<string>\",\n \"workspaceId\": \"<string>\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.tryreplicas.com/v1/presence")
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 \"location\": {\n \"environmentId\": \"<string>\",\n \"workspaceId\": \"<string>\"\n }\n}"
response = http.request(request)
puts response.read_body{
"success": true
}{
"error": "<string>",
"details": "<string>"
}{
"error": "<string>",
"details": "<string>"
}{
"error": "<string>",
"details": "<string>"
}Authorizations
API key authentication. Obtain your API key from the Replicas dashboard under Organization → Settings → API Keys. User-session JWTs are not accepted by /v1/replica endpoints.
Body
application/json
The status to report for the authenticated user.
Available options:
online, typing Where a member is currently active. Both fields are optional; an empty object means the member is online but not on a specific environment or workspace.
Show child attributes
Show child attributes
Response
Presence updated
⌘I