Get a timesheet attestation
curl --request GET \
--url https://www.ruddr.io/api/workspace/timesheet-attestations/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://www.ruddr.io/api/workspace/timesheet-attestations/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://www.ruddr.io/api/workspace/timesheet-attestations/{id}', 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://www.ruddr.io/api/workspace/timesheet-attestations/{id}",
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://www.ruddr.io/api/workspace/timesheet-attestations/{id}"
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://www.ruddr.io/api/workspace/timesheet-attestations/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://www.ruddr.io/api/workspace/timesheet-attestations/{id}")
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{
"id": "7450efea-715e-489c-b85b-91391f85e4c2",
"name": "California",
"attestationText": "I certify that the hours, meals, and breaks recorded are accurate and complete.",
"isActive": true,
"createdAt": "2025-03-15T14:22:31.840Z"
}{
"status": 400,
"message": "Parameter 'id' is not a valid UUID."
}{
"status": 403,
"message": "Feature 'Timesheet Attestation' is not enabled."
}{
"status": 404,
"message": "Object with id 'd185c048-3a00-443e-b226-ed25abd87f42' not found."
}Timesheet Attestations
Get a timesheet attestation
GET
/
timesheet-attestations
/
{id}
Get a timesheet attestation
curl --request GET \
--url https://www.ruddr.io/api/workspace/timesheet-attestations/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://www.ruddr.io/api/workspace/timesheet-attestations/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://www.ruddr.io/api/workspace/timesheet-attestations/{id}', 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://www.ruddr.io/api/workspace/timesheet-attestations/{id}",
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://www.ruddr.io/api/workspace/timesheet-attestations/{id}"
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://www.ruddr.io/api/workspace/timesheet-attestations/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://www.ruddr.io/api/workspace/timesheet-attestations/{id}")
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{
"id": "7450efea-715e-489c-b85b-91391f85e4c2",
"name": "California",
"attestationText": "I certify that the hours, meals, and breaks recorded are accurate and complete.",
"isActive": true,
"createdAt": "2025-03-15T14:22:31.840Z"
}{
"status": 400,
"message": "Parameter 'id' is not a valid UUID."
}{
"status": 403,
"message": "Feature 'Timesheet Attestation' is not enabled."
}{
"status": 404,
"message": "Object with id 'd185c048-3a00-443e-b226-ed25abd87f42' not found."
}A statement a member must sign when submitting a timesheet, used to meet labor-law and compliance requirements such as confirming the accuracy of recorded hours.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
The timesheet attestation uuid.
Response
200
The unique identifier for the object.
The name of the timesheet attestation.
The statement the member must sign when submitting a timesheet.
Whether the timesheet attestation is active.
The timestamp when the object was created.
⌘I