GET Company Activity
curl --request GET \
--url https://api.rippling.com/platform/api/company_activity \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.rippling.com/platform/api/company_activity"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.rippling.com/platform/api/company_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.rippling.com/platform/api/company_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: Bearer <token>"
],
]);
$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.rippling.com/platform/api/company_activity"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
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.rippling.com/platform/api/company_activity")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.rippling.com/platform/api/company_activity")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": {
"events": [
{
"id": "5ed7052182a6a429a4af3fb9",
"request_data": null,
"linked_events": [],
"subjects": [
{
"instance": "5c6324b602bf9a760b7a4329",
"type": "GROUP",
"display_name": "Everyone",
"icon": null
},
{
"instance": "5c6324b502bf9a760b7a4318",
"type": "SPOKE_USER",
"display_name": "apps+test@rippling.com",
"icon": null
},
{
"instance": "5ca35d3b6ab9e20acc4e83e3",
"type": "ROLE",
"display_name": "Swag Test",
"icon": null
}
],
"event_type": "EXTERNAL_GROUP_MEMBER_REMOVE",
"timestamp": "2020-06-02T19:04:17.375000-07:00",
"company": "595f75ffd2a5f80ae22ce88e",
"spoke": "5c63187a3698be3692ce328f",
"owner": "5c63232bc5929135ddadbfab",
"initiator": {
"type": "EXTERNAL",
"role": null,
"display_name": "External",
"icon": null
},
"event_reason": {
"reason": "CHANGE_SYNCED_FROM_EXTERNAL_APP",
"message": "Activity emanated from External App"
},
"name": "Account removed from group"
}
],
"next": "5f4d9d82f6c26e0a83aa6ea8"
},
"error": null
}A. Companies
GET Company Activity
Retrieves the activity for a given company.
The most reliable method to ingest all activity from Rippling is to use a pagination cursor via the ‘next’ parameter. This will ensure that events are not skipped or duplicated due to the lack of timestamp precision.
The general sequence of steps to leverage the next parameter:
- Issue an initial request using startDate with a value set to some date in the last 90 days
- Retrieve the next page of events through the next value from the response data.
- Issue the paginated request
- Retrieve the next page of events through the next value from the response data
- Pause and repeat the previous step
GET
/
platform
/
api
/
company_activity
GET Company Activity
curl --request GET \
--url https://api.rippling.com/platform/api/company_activity \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.rippling.com/platform/api/company_activity"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.rippling.com/platform/api/company_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.rippling.com/platform/api/company_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: Bearer <token>"
],
]);
$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.rippling.com/platform/api/company_activity"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
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.rippling.com/platform/api/company_activity")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.rippling.com/platform/api/company_activity")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": {
"events": [
{
"id": "5ed7052182a6a429a4af3fb9",
"request_data": null,
"linked_events": [],
"subjects": [
{
"instance": "5c6324b602bf9a760b7a4329",
"type": "GROUP",
"display_name": "Everyone",
"icon": null
},
{
"instance": "5c6324b502bf9a760b7a4318",
"type": "SPOKE_USER",
"display_name": "apps+test@rippling.com",
"icon": null
},
{
"instance": "5ca35d3b6ab9e20acc4e83e3",
"type": "ROLE",
"display_name": "Swag Test",
"icon": null
}
],
"event_type": "EXTERNAL_GROUP_MEMBER_REMOVE",
"timestamp": "2020-06-02T19:04:17.375000-07:00",
"company": "595f75ffd2a5f80ae22ce88e",
"spoke": "5c63187a3698be3692ce328f",
"owner": "5c63232bc5929135ddadbfab",
"initiator": {
"type": "EXTERNAL",
"role": null,
"display_name": "External",
"icon": null
},
"event_reason": {
"reason": "CHANGE_SYNCED_FROM_EXTERNAL_APP",
"message": "Activity emanated from External App"
},
"name": "Account removed from group"
}
],
"next": "5f4d9d82f6c26e0a83aa6ea8"
},
"error": null
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Query Parameters
Timestamp to list activity after (inclusive). This should be less than 90 days from now. Defaults to 90 days.
Timestamp to list activity before (inclusive).
Specifies the pagination cursor to the next page
Specifies the number of results to page (maximum: 1000) (default: 1000)