Skip to main content
GET
/
activity
Fetch activity
curl --request GET \
  --url https://api.dittowords.com/v2/activity \
  --header 'Authorization: <api-key>'
import requests

url = "https://api.dittowords.com/v2/activity"

headers = {"Authorization": "<api-key>"}

response = requests.get(url, headers=headers)

print(response.text)
const options = {method: 'GET', headers: {Authorization: '<api-key>'}};

fetch('https://api.dittowords.com/v2/activity', 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.dittowords.com/v2/activity",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"net/http"
"io"
)

func main() {

url := "https://api.dittowords.com/v2/activity"

req, _ := http.NewRequest("GET", url, nil)

req.Header.Add("Authorization", "<api-key>")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.get("https://api.dittowords.com/v2/activity")
.header("Authorization", "<api-key>")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.dittowords.com/v2/activity")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'

response = http.request(request)
puts response.read_body
{
  "activity": [
    {
      "type": "edit",
      "date": "2024-06-01T12:34:56.000Z",
      "user": {
        "name": "Alice"
      },
      "projectId": "my-project",
      "textItemIds": [
        "welcome-header"
      ],
      "componentId": null,
      "data": {}
    }
  ],
  "nextCursor": "NmExODU2MmI3ZDllMDAyNzk5OTk1ZWVi"
}
{
"message": "Project id not found: nonexistent-project"
}

Authorizations

Authorization
string
header
required

Query Parameters

projectIds
string

Comma-separated list of project developer IDs to filter activity for. Activity matching any of the provided project, text item, or component IDs is included (OR logic across all three ID filters).

textItemIds
string

Comma-separated list of text item developer IDs to filter activity for. Activity matching any of the provided project, text item, or component IDs is included (OR logic across all three ID filters).

componentIds
string

Comma-separated list of library component developer IDs to filter activity for. Activity matching any of the provided project, text item, or component IDs is included (OR logic across all three ID filters).

entityType
enum<string>

Narrows results to a single entity type (AND logic with the ID filters). One of: textItem (text item changes), component (library component changes), variant (variant changes on text items or components), variable (variable changes). When combined with projectIds, textItemIds, or componentIds, only activity that matches both the ID filters and this entity type is returned.

Available options:
textItem,
component,
variant,
variable
limit
string

Maximum number of activity items to return (default: 50, max: 200)

cursor
string

The nextCursor value from a previous response, used to fetch the next page

Response

Returns a paginated list of activity items matching the requested filters

activity
object[]
required

List of activity items matching the requested filters

nextCursor
string | null
required

Opaque cursor for fetching the next page of results. Pass as the cursor query parameter in the next request. Null if there are no more results.